There are over 150 new features in MySQL 5.7.

The MySQL manual is very good, but verbose. This is a list of new features in short bullet form. I have tried very hard to make sure each feature is only mentioned once. So InnoDB native partitioning could be mentioned under either InnoDB or partitioning.

Download MySQL 5.7 GA
    or install from yumapt or SUSE repo.

Replication

  1. Multi source replication [1]
  2. Online GTID migration path [1 2 3]
  3. Improved semi-sync performance [1 2]
  4. Loss-less semi-sync replication [1 2]
  5. Semi-sync can now wait for a configurable number of slaves [1]
  6. Intra-schema parallel replication [1]
  7. Ability to tune group commit viabinlog_group_commit_sync_delay andbinlog_group_commit_sync_no_delay_countoptions. [1 2]
  8. Non-blocking SHOW SLAVE STATUS [1 2]
  9. Online CHANGE REPLICATION FILTER [1]
  10. Online CHANGE MASTER TO without stopping SQL thread [1]
  11. Multi-threaded slave ordered commits (Sequential Consistency) [1]
  12. Support SLAVE_TRANSACTION_RETRIES in multi-threaded slave mode [1]
  13. WAIT_FOR_EXECUTED_GTID_SET function has been introduced [1 2]
  14. Optimize GTIDs for Passive Slaves [1 2]
  15. GTID Replication no longer requires log-slave-updates be enabled
  16. XA Support when the binary log is turned on [1]
  17. GTIDs in the OK packet [1]
  18. Better synchronization between dump and user threads when racing for the binlog [1]
  19. Improved memory management of Binlog_sender [1]
  20. Option to suppress "unsafe for binlog" messages in error log [1]
  21. Defaults change: binlog_format=ROW
  22. Defaults change: sync_binlog=1
  23. Defaults change:binlog_gtid_simple_recovery=1
  24. Defaults change:binlog_error_action=ABORT_SERVER
  25. Defaults change: slave_net_timeout=60

InnoDB

  1. Online buffer pool resize [1]
  2. Improved crash recovery performance [1]
  3. Improved read-only transaction scalability [1 2 34]
  4. Improved read-write transaction scalability [1 23 4]
  5. Several optimizations for high performance temporary tables [1 2 3 4 5]
  6. ALTER TABLE RENAME INDEX only requires meta-data change [1]
  7. Increasing VARCHAR size only requires meta-data change [1]
  8. ALTER TABLE performance improved [1]
  9. Multiple page_cleaner threads [1]
  10. Optimized buffer pool flushing [1]
  11. New innodb_log_checksum_algorithm option [1]
  12. Improved NUMA support [1]
  13. General Tablespace support [1]
  14. Transparent Page Compression [1]
  15. innodb_log_write_ahead_size introduced to address potential 'read-on-write' with redo logs [1]
  16. Fulltext indexes now support pluggable parsers [1]
  17. Support for ngram and MeCab full-text parser plugins [1 2]
  18. Fulltext search optimizations [1]
  19. Buffer pool dump now supportsinnodb_buffer_pool_dump_pct [1]
  20. The doublewrite buffer is now disabled on filesystems that supports atomic writes (aka Fusion-io support) [1]
  21. Page fill factor is now configurable [1]
  22. Support for 32K and 64K pages [1]
  23. Online undo log truncation [1]
  24. Update_time meta data is now updated [1]
  25. TRUNCATE TABLE is now atomic [1]
  26. Memcached API performance improvements [1]
  27. Adaptive hash scalability improvements [1]
  28. InnoDB now implementsinformation_schema.files [1]
  29. Legacy InnoDB monitor tables have been removed or replaced by global configuration settings
  30. InnoDB default row format now configurable [1]
  31. InnoDB now drops tables in a background thread [1]
  32. InnoDB tmpdir is now configurable [1]
  33. InnoDB MERGE_THRESHOLD is now configurable [1]
  34. Defaults change:innodb_file_format=Barracuda
  35. Defaults change: innodb_large_prefix=1
  36. Defaults change: innodb_page_cleaners=4
  37. Defaults change: innodb_purge_threads=4
  38. Defaults change:innodb_buffer_pool_dump_at_shutdown=1
  39. Defaults change:innodb_buffer_pool_load_at_startup=1
  40. Defaults change:innodb_buffer_pool_dump_pct=25
  41. Defaults change: innodb_strict_mode=1
  42. Defaults change:innodb_checksum_algorithm=crc32
  43. Defaults change:innodb_default_row_format=DYNAMIC

Optimizer

    1. Improved optimizer cost model, leading to more consistently better query plans [1 2 3 4]
    2. Optimizer cost constants are now configurable on a global or per engine basis [1 2]
    3. Query parser has been refactored and improved [1]
    4. EXPLAIN FOR CONNECTION [1]
    5. UNION ALL does not use a temporary table [1 23 4]
    6. Filesort is now optimized to pack values [1]
    7. Subqueries in FROM clause can now be handled same as a view (derived_merge) [1]
    8. Queries using row value constructors are now optimized [1 2]
    9. Optimizer now supports a new condition filtering optimization [1 2]
    10. EXPLAIN FORMAT=JSON now shows cost information [1]
    11. Support for STORED and VIRTUAL generated columns (aka functional indexes) [1]
    12. Prepared statements refactored internally and performance improved [1 2]
    13. New query hints using comment-like /*+ */syntax [1]
    14. Server-side query rewrite framework [1]
    15. ONLY_FULL_GROUP_BY now more standards compliant [1]
    16. Support for gb18030 character set [1]
    17. Improvements to Dynamic Range access [1]
    18. Memory used by the range optimizer is now configurable [1]
    19. Defaults change:internal_tmp_disk_storage_engine=INNODB[1]
    20. Defaults change:eq_range_index_dive_limit=200
    21. Defaults change:sql_mode=ONLY_FULL_GROUP_BY, STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, NO_ENGINE_SUBSTITUTION
    22. Defaults change:

optimizer_switch=condition_fanout_filter=on, derived_merge=on

  1. Defaults change: EXTENDED and PARTITIONSkeywords for EXPLAIN enabled by default

Security

  1. Username size increased to 32 characters [1]
  2. Support for IF [NOT] EXISTS clause inCREATE/DROP USER [1]
  3. Server option to require secure transport [1]
  4. Support for multiple AES Encryption modes [12]
  5. Support for TLSv1.2 (with OpenSSL) and TLSv1.1 (with YaSSL) [1 2]
  6. Support to LOCK/UNLOCK user accounts [1 2]
  7. Support for password expiration policy [1 2]
  8. Password strength enforcement
  9. test database no longer created on installation
  10. Anonymous users no longer created on installation
  11. Random password generated by default on installation
  12. New ALTER USER command
  13. SET password='' now accepts a password instead of hash
  14. Server now generates SSL keys by default
  15. Insecure old_password hash removed [1]
  16. Ability to create utility users for stored programs that can not login [1]
  17. mysql.user.password field renamed asauthentication_string to better describe its current usage.
  18. Support for tablespace encryption [1]

Performance Schema

  1. Scalable memory allocation [1]
  2. Overhead has been reduced in client connect/disconnect phases
  3. Memory footprint has been reduced
  4. pfs_lock implementation has been improved
  5. Table IO statistics are now batched for improved performance
  6. Memory usage instrumentation
  7. Stored programs instrumentation
  8. Replication slave instrumentation
  9. Metadata Locking (MDL) Instrumentation
  10. Transaction instrumentation
  11. Prepared Statement instrumentation
  12. Stage Progress instrumentation
  13. SX-lock and rw_lock instrumentation
  14. Thread status and variables
  15. Defaults change: performance-schema-consumer-events_statements_history=ON

GIS

  1. InnoDB supports indexing of spatial datatypes [1]
  2. Consistent naming scheme for GIS functions [1]
  3. GIS has been refactored internally and is now based on Boost Geometry [1]
  4. Geohash functions [1 2]
  5. GeoJSON functions [1 2]
  6. Functions: ST_Distance_Sphere, ST_MakeEnvelope, ST_IsValid, ST_Validate, ST_Simplify, ST_Buffer and ST_IsSimple [1 2]

Triggers

  1. Multiple triggers per event per table [1]
  2. BEFORE Triggers are not processed for NOT NULLcolumns [1]

Partitioning

  1. Index condition pushdown optimization now supported
  2. HANDLER command is now supported
  3. WITHOUT VALIDATION option now supported forALTER TABLE ... EXCHANGE PARTITION
  4. Support for Transportable Tablespaces
  5. Partitioning is now storage-engine native for InnoDB

SYS (new)

  1. SYS schema bundled by default [1 2]
  2. 100 new views, 21 new stored functions and 26 new stored procedures to help understand and interact with Performance Schema and Information Schema [1]

JSON (new)

  1. Native JSON Data Type [1]
  2. JSON Comparator
  3. Short-hand JSON_EXTRACT operator (field->"json_path") [1]
  4. New Document Store (5.7.12)
  5. Functions: JSON_ARRAY, JSON_MERGE, JSON_OBJECT for creating JSON values [1]
  6. Functions: JSON_CONTAINS, JSON_CONTAINS_PATH, JSON_EXTRACT, JSON_KEYS, JSON_SEARCH for searching JSON values [1]
  7. Functions: JSON_ARRAY_APPEND, JSON_ARRAY_INSERT, JSON_INSERT, JSON_QUOTE, JSON_REMOVE, JSON_REPLACE, JSON_UNSET, JSON_UNQUOTE to modify JSON values [1]
  8. Functions: JSON_DEPTH, JSON_LENGTH, JSON_TYPE, JSON_VALID to return JSON value attributes [1]

Client Programs

  1. New mysqlpump utility [1]
  2. The mysql client now supports Ctrl+C to clear statement buffer
  3. rewrite-db option added to mysqlbinlog [1 2]
  4. New mysql_ssl_rsa_setup utility to help set up SSL [1]
  5. SSL support added to mysqlbinlog
  6. Idempotent mode added to mysqlbinlog
  7. Client --ssl changed to now force SSL
  8. Enhancements to the innochecksum utility
  9. Removal of several outdated/unsafe command line utilities [1]
  10. Many Perl command line clients converted to C++
  11. Client Side Protocol Tracing
  12. Client API method to reset connection
  13. New MySQL Shell (mysqlsh) (separate download)

libmysqlclient

  1. Restricted export functions to documented MySQL C API
  2. Added pkg-config support
  3. Removed _r symlinks
  4. Changed so version to 20 (from 18)

Building

  1. Compiler switched to GCC on Solaris
  2. MySQL now compiles with Bison 3 (* change also backported)
  3. CMake now used to compile on all platforms
  4. Unneeded CMake checks have been removed (and unused macros removed from source files)
  5. Build support for gcc, clang and MS Studio

Misc

  1. Server new connection throughput improved considerably [1]
  2. mysql_install_db replaced by mysqld --initialize [1]
  3. Native support for syslog [1 2]
  4. Native support for systemd
  5. disabled_storage_engines option allows a block list of engines
  6. SET GLOBAL offline_mode=1 [1 2]
  7. super_read_only option [1]
  8. Detect transaction boundaries
  9. Server version token and check [1
  10. SELECT GET_LOCK() can now acquire multiple locks [1 2]
  11. Configurable maximum statement execution time on a global and per query basis [1 2]
  12. Better handling of connection id rollover
  13. DTrace support [1]
  14. More consistent IGNORE clause and STRICTmode
  15. A number of tables in the mysql schema have moved from MyISAM to InnoDB
  16. Server error log format improved to be consistent
  17. Extract query digest moved from performance_schema into the server directly
  18. Improved scalability of meta data locking
  19. Increased control over error log verbosity
  20. Stacked Diagnostic Areas
  21. The server now supports a "SHUTDOWN" command
  22. Removed support for custom atomics implementation
  23. Removed "unique option prefix support" from server and utilities, which allowed options to be configured using multiple names.
  24. Removed unsafe ALTER IGNORE TABLE functionality. Syntax remains for compatibility
  25. Removed unsafe INSERT DELAYED functionality. Syntax remains for compatibility
  26. Removed of outdated sql-bench scripts in distributions
  27. Removal of ambiguous YEAR(2) datatype
  28. Defaults change: log_warnings=2
  29. Defaults change:table_open_cache_instances=16

MYSQL 5.7 新增150多个新功能的更多相关文章

  1. MySQL 5.7 Replication 相关新功能说明

    背景: MySQL5.7在主从复制上面相对之前版本多了一些新特性,包括多源复制.基于组提交的并行复制.在线修改Replication Filter.GTID增强.半同步复制增强等.因为都是和复制相关, ...

  2. 初识 MySQL 5.6 新功能、参数

    摘要: 继上一篇的文章 初识 MySQL 5.5 新功能.参数 之后,现在MySQL5.6 针对 MySQL5.5 各个方面又提升了很多,特别在性能和一些新参数上面,现在看看大致提升了哪些方面(后续不 ...

  3. MySQL 5.7 Replication 相关新功能说明 (转)

    背景: MySQL5.7在主从复制上面相对之前版本多了一些新特性,包括多源复制.基于组提交的并行复制.在线修改Replication Filter.GTID增强.半同步复制增强等.因为都是和复制相关, ...

  4. MySQL Database on Azure新功能

    本月中国版的MySQL Database on Azure发布了两项新功能: 1.主从复制——只读实例 在这之前Azure上的MySQL数据库也是支持主从复制的,但是只能作为on-premises部署 ...

  5. MySQL 8.0 新增SQL语法对窗口函数和CTE的支持

    尝试了一下MySQL 8.0的部分新特性. 如果用过MSSQL或者是Oracle中的窗口函数(Oracle中叫分析函数), 然后再使用MySQL 8.0之前的时候,就知道需要在使用窗口函数处理逻辑的痛 ...

  6. Atitit.mysql 5.0 5.5  5.6 5.7  新特性 新功能

    Atitit.mysql 5.0 5.5  5.6 5.7  新特性 新功能 1. MySQL  5.6    5 大新特性1 1.1. 优化器的改进1 1.2. InnoDB 改进1 1.3. 使用 ...

  7. MySQL 8.0有什么新功能

    https://mysqlserverteam.com/whats-new-in-mysql-8-0-generally-available/ 我们自豪地宣布MySQL 8.0的一般可用性. 现在下载 ...

  8. MySQL用sql复制表数据到新表的方法

    用sqlyog无法直接复制出一个不同表名的表来,只能copy到其他库上同名的表. 在MySQL数据库中,应该如何用sql将表数据复制到新表中呢? 本人通过试验测试成功了,而且相当简单易懂,速度也非常快 ...

  9. Atitit.mysql 5.0 5.5  5.6 5.7  新特性 新功能

    Atitit.mysql 5.0 5.5  5.6 5.7  新特性 新功能 1. MySQL  5.6    5 大新特性1 1.1. 优化器的改进1 1.2. InnoDB 改进1 1.3. 使用 ...

随机推荐

  1. C语言内存地址基础

    来源:http://blog.jobbole.com/44845/ 从计算机内存的角度思考C语言中的一切东东,是挺有帮助的.我们可以把计算机内存想象成一个字节数组,内存中每一个地址表示 1 字节.比方 ...

  2. POJ 1195- Mobile phones(二维BIT)

    题意: 矩阵上的单点更新,范围求和 #include <map> #include <set> #include <list> #include <cmath ...

  3. IOS 本地通知UILocalNotification

    //发送通知    UILocalNotification *notification=[[UILocalNotification alloc] init];       if (notificati ...

  4. Tcpcopy简介与实战

    码农博客 即将到期,现将博客中部分文章转载到博客园.本文发表与2012年,基于tcpcopy 0.6版本.转载时略有删减. Tcpcopy简介 TCPCopy是一种请求复制(所有基于tcp的packe ...

  5. Selenium2Library系列 keywords 之 _SelectElementKeywords 之 get_selected_list_value(self, locator)

    def get_selected_list_value(self, locator): """Returns the value of the selected elem ...

  6. DateTime日期计算

    //今天 DateTime.Now.Date.ToShortDateString(); //昨天,就是今天的日期减一 DateTime.Now.AddDays(-1).ToShortDateStrin ...

  7. python easy_install centos 下安装过程和原理解析

    一.easy_install 安装过程 其安装过程有很多种,我也找了很多的例子,但是结果都不太好,以下方法的结果是不错的. easy_install与yum类似,使用easy_install,可以轻松 ...

  8. C++ 编程输入输出语句

    C++ 的标准输入.输出就是我们已经使用的包含头文件iostream,他不但提供了I/O的库函数,也提供了使用该库的流模式,从cin>> 流入  和cout<<流出到设备就是一 ...

  9. 七牛云存储官方接口PHP版本

    PHP SDKv6 此 SDK 适用于 PHP 5.1.0 及其以上版本.基于 七牛云存储官方API 构建.使用此 SDK 构建您的网络应用程序,能让您以非常便捷地方式将数据安全地存储到七牛云存储上. ...

  10. BootStrap入门教程 (二) :BASE CSS(排版(Typography),表格(Table),表单(Forms),按钮(Buttons))

    上讲回顾:Bootstrap的手脚架(Scaffolding)提供了固定(fixed)和流式(fluid)两种布局,它同时建立了一个宽达940px和12列的格网系统. 基于手脚架(Scaffoldin ...