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. CodeForces 148D-Bag of mice(概率dp)

    题意: 袋子里有w个白球b个黑球,现在两个人轮流每次取一个球(不放回),先取到白球的获胜,当后手取走一个球时,袋子里的球会随机的漏掉一个,问先手获胜的概率. 分析: dp[i][j]表示袋子中i个白球 ...

  2. [Web API] 如何让 Web API 统一回传格式以及例外处理[转]

    [Web API] 如何让 Web API 统一回传格式以及例外处理 前言 当我们在开发 Web API 时,一般的情况下每个 API 回传的数据型态或格式都不尽相同,如果你的项目从头到尾都是由你一个 ...

  3. bzoj 2095: [Poi2010]Bridges(二分法+混合图的欧拉回路)

    [题意] 给定n点m边的无向图,对于边u,v,从u到v边权为c,从v到u的边权为d,问能够经过每条边一次且仅一次,且最大权值最小的欧拉回路. [思路] 二分答案mid,然后切断权值大于mid的边,原图 ...

  4. scribe、chukwa、kafka、flume日志系统对比 -摘自网络

    1. 背景介绍许多公司的平台每天会产生大量的日志(一般为流式数据,如,搜索引擎的pv,查询等),处理这些日志需要特定的日志系统,一般而言,这些系统需要具有以下特征:(1) 构建应用系统和分析系统的桥梁 ...

  5. 【转】Maven实战(四)---多模块项目---JBOSS部署问题

    原文出自于:http://blog.csdn.net/liutengteng130/article/details/41622681      感谢! 这几天在搭框架中仅仅是JBOSS就遇到了很多问题 ...

  6. 【转】iOS 硬件授权检测:定位服务、通讯录、日历、提醒事项、照片、蓝牙共享、麦克风、相机等

    iOS系统版本的不断升级的前提,伴随着用户使用设备的安全性提升,iOS系统对于App需要使用的硬件限制也越来越严格,App处理稍有不妥,轻则造成功能不可用用户还不知道,重则会造成App Crash. ...

  7. [Xcode使用 - 4] 真机调试配置

    A.步骤 1.申请开发者账号 2.注册机器成为开发机器 (1)生成证书请求文件 (2)上传请求文件 (3)生成cer证书文件: **.cer (4)下载cer证书   3.注册测试程序ID:APP I ...

  8. [iOS基础控件 - 6.11.5] 沙盒 & 数据存储

    A.沙盒 每个APP都有一个沙盒,是独立存在的   1.Xcode5和Xcode6的模拟器文件目录 a.模拟器路径改版 (1)Xcode5中模拟器路径为:/Users/用户名/Library/Appl ...

  9. javascript表单(form)序列化

    function serialize(form){ var part =[]; var field = null; var i; var j; var len; var optLen; var opt ...

  10. 使用SVG Path绘图

    最近一个项目,需要做个Web版本的设计器,用来进行工厂流水线布局的设计. 项目中采用了SVG.JS来做,但是以前流水线是采用单纯的画线的方式实现.客户提出希望用不同的底纹表示不同的流水线,经过一番调查 ...