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. matlab 学习

    http://blog.sina.com.cn/s/blog_7086379501012pc5.html <a href = "http://blog.sina.com.cn/s/bl ...

  2. Corn Fields(POJ 3254状压dp)

    题意: n*m网格1能放0不能放 放的格子不能相邻 求一共多少种可放的方案. 分析: dp[i][j]第i行可行状态j的的最大方案数,枚举当前行和前一行的所有状态转移就行了(不放牛也算一种情况) #i ...

  3. Google Maps API显示地图的小示例

    来源:http://www.ido321.com/1089.html 效果(新版Firefox中测试): 代码: <!DOCTYPE> <html> <head> ...

  4. 安装CPqD/ofdissector遭遇的错误

    为了安装支持openflow1.3的wireshark插件,在下载了ofdissector.git,并进入了其src目录后,执行scons install,出现如下错误: util/FieldMana ...

  5. C# 与 VC Dll 传输信息

    考虑: 使用string类型传送: 在VC Dll中解析字符: 使用 string 类型将解析的类型传送到C#程序中: 建立VC解析的函数,提高代码可重用性

  6. <Chapter 2>2-1-2.安装Java SDK

    Java运行时环境的App Engine SDK运行在任何运行了Java SE开发工具(JDK)的电脑上.Java SDK App Engine 支持JDK 6,并且当运行App Engine的时候, ...

  7. Can’t find file mysql/host.frm

    安装Mysql后报错: InnoDB: Apply batch completed 141115 15:04:36 InnoDB: Started; log sequence number 0 442 ...

  8. 解决Failed to execute goal org.apache.maven.plugins

    1.Maven构建失败 Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin: 2.3 . 2 :compile  ...

  9. 【Linux常用工具】02. 创建启动定时任务工具cron

    一. cron 1. cron是一个守护程序,它提供定时器的功能,让用户在特定的时间得以执行默认的指令或程序.只要用户会编辑定时器的设置文件,就可以使用定时器的功能. 定时器文件格式: 2. cron ...

  10. POJ 1502 MPI Maelstrom (Dijkstra)

    题目链接:http://poj.org/problem?id=1502 题意是给你n个点,然后是以下三角的形式输入i j以及权值,x就不算 #include <iostream> #inc ...