MySQL8.0新功能列表

MySQL8.0新功能列表

There are over 250 new features inMySQL8.0. The MySQL Manual is very good, but verbose. This is a list of new features in short bullet form. We have tried very hard to make sure each feature is only mentioned once. Note the similar list for MySQL 5.7.

#MySQL8.0相对于MySQL5.7新增了250多个新功能

Please download MySQL 8.0 from dev.mysql.com or from the MySQL  Yum,  APT, or SUSErepositories.

SQL DML

Non-recursive CTEs [1]

Recursive CTEs [1]

Window functions [1]

ORDER BY and DISTINCT with ROLLUP [1]

LATERAL derived tables [1]

Outer table references in derived tables [1]

SQL DDL

Instant ADD COLUMN [1]

Instant RENAME COLUMN [1]

Instant RENAME TABLESPACE [1]

RESTART statement [1]

SET PERSIST statement [1]

RENAME TABLES under LOCK TABLES [1]

Option to disallow tables without primary keys [1]

Character set conversion as an inplace operation [1 2]

CREATE TABLESPACE without DATAFILE clause [1]

CREATE RESOURCE GROUP [1 2]

ALTER RESOURCE GROUP [1 2]

DROP RESOURCE GROUP [1 2]

Expressions as DEFAULT values [1]

Indexes

Invisible indexes [1]

Descending indexes [1]

Functional indexes [1]

Index skip scan [1]

Functions

New function REGEXP_INSTR [1]

New function REGEXP_LIKE [1]

New function REGEXP_REPLACE [1]

New function REGEXP_SUBSTR [1]

New function UUID_TO_BIN [1]

New function BIN_TO_UUID [1]

New function IS_UUID [1]

New function GROUPING [1 2]

New function STATEMENT_DIGEST [1]

New function STATEMENT_DIGEST_TEXT [1]

Bit operations allowed on BINARY, VARBINARY, BLOB, TINYBLOB, MEDIUMBLOB and LONGBLOB [1]

JSON

New function JSON_PRETTY [1]

New function JSON_STORAGE_SIZE [1]

New function JSON_STORAGE_FREE [1]

New function JSON_MERGE_PATCH [1]

New aggregation and window function JSON_ARRAYAGG [1]

New aggregation and window function JSON_OBJECTAGG [1]

New table function JSON_TABLE [1]

Faster sorting of JSON values [1]

Ranges in JSON patch expressions [1 2]

In-place updates of JSON values [1 2]

GIS

Spatial reference systems (SRSs) [1 2 3 4]

CREATE SPATIAL REFERENCE SYSTEM statement [1 2]

DROP SPATIAL REFERENCE SYSTEM statement [1]

SRID type modifier [1 2]

Geographic R-trees [1]

New setter function ST_SRID(geometry,new_srid) [1]

New setter function ST_X(geometry,new_x) [1]

New setter function ST_Y(geometry,new_y) [1]

New function ST_SwapXY [1]

New function ST_Latitude [1]

New function ST_Longitude [1]

New function ST_Transform [1]

Geography support in ST_Distance, ST_Contains, ST_Crosses, ST_Disjoint, ST_Equals, ST_Intersects, ST_Overlaps, ST_Touches, ST_Within, MBRContains, MBRCoveredBy, MBRCovers, MBRDisjoint, MBREquals, MBRIntersects, MBROverlaps, MBRTouches, MBRWithin, ST_IsSimple, ST_IsValid, ST_Length, ST_Validate, ST_Area [1 2 3 4 5 6 7 8]

ST_Distance_Sphere for geographic geometries [1]

GEOMCOLLECTION as synonym to GEOMETRYCOLLECTION [1 2 3]

Optional SPATIAL keyword in R-tree index clauses [1]

Ability to specify length unit in ST_Distance [1]

Character sets and collations

UTF-8 (utf8mb4) as default character set [1 2 3 4 5 6 7 8 9 10 11]

General Unicode 9.0 collations covering German (dictionary order), Austrian German (dictionary order), English, French (including accent insensitive Canadian French), Irish, Indonesian, Italian, Luxembourgian, Malay, Dutch (including Flemish), Portuguese (including Brazilian Portuguese), Swahili, and Zulu [1 2]

Language specific Unicode 9.0 collations for Czech, Danish (also valid for Norwegian), German (phonebook order), Esperanto, Spanish, Spanish (traditional), Estonian, Croatian (also valid for Serbian with latin characters, and Bosnian), Hungarian, Icelandic, Lithuanian, Latvian, Polish, Romanian, Slovak, Slovenian, Swedish, Turkish, Vietnamese, Japanese (including kana sensitive collation), and Russian (also valid for Bulgarian)

Unicode support in RLIKE and REGEXP [1]

Information Schema

Information Schema implemented as views over data dictionary tables [1]

New Information Schema view VIEW_TABLE_USAGE [1]

New Information Schema view VIEW_ROUTINE_USAGE [1]

New Information Schema view KEYWORDS [1]

New Information Schema view COLUMN_STATISTICS [1]

New Information Schema view ST_GEOMETRY_COLUMNS [1]

New Information Schema view ST_SPATIAL_REFERENCE_SYSTEMS [1]

New Information Schema view ST_UNITS_OF_MEASURE [1]

Performance Schema

Performance Schema Indexes [1]

Instrument server errors  [1]

Statements latency histograms [1]

Instrument data locks [1]

Pluggable performance schema tables [1]

Added QUERY_SAMPLE_TEXT  [1]

Added Thread Pool Tables  [1] (Enterprise)

SHOW

SHOW now lists hidden columns [1]

SHOW now lists index information [1]

Optimizer

Histograms [1 2 3]

Adaptive scan buffer size [1]

IO costs separation between memory and disk [1]

Default values in cost tables [1]

Sampling interface in storage engine API [1 2 3 4]

NOWAIT and SKIP LOCKED [1 2]

Avoid unnecesary index dives with FORCE INDEX [1 2 3]

Optimizer switch to use invisible indexes [1 2 3]

Increased default optimizer trace buffer size [1]

New hint MERGE [1]

New hint INDEX_MERGE [1]

New hint NO_INDEX_MERGE [1]

New hint JOIN_FIXED_ORDER [1]

New hint JOIN_ORDER [1]

New hint JOIN_PREFIX [1]

New hint JOIN_SUFFIX [1]

New hint SET_VAR [1]

Consider covering prefix indexes for LIKE [1]

Transformed statement in EXPLAIN of INSERT/UPDATE/REPLACE/DELETE [1]

InnoDB

Highly scalable latch free redo log implementation [1 2].

Redesign of LOB infrastructure for better performance [1 2 3]

State of the art lock scheduler using Contention Aware Transaction Scheduling (CATS) (Contribution from University of Michigan) [1]

Infrastructure to do non locking parallel reads (currently used by CHECK TABLE) [1]

Instant add column and virtual column [1]

Report pages cached in the buffer pool by indexes via the information schema [1]

Persistent auto increment [1]

Manage UNDO tablespaces using SQL syntax [1]

New in-memory temptable storage engine for use by optimiser [1]

Support for BLOBs in new temptable engine [1 2]

Redo log encryption [1]

Undo log encryption [1]

General tablespace encryption support [1]

Dedicated server mode, automatically configures the buffer pool and redo log size [1 2]

Tablespace version support for better upgrade/downgrade experience [1]

Self describing tablespaces with Serialized Dictionary Information (SDI) [1]

Tools to manage the SDI [ 1]

Atomic DDL [1]

Remove the buffer pool mutex (Percona contribution) [1]

Improved purge [1]

Dynamically enable/disable the deadlock detector [1]

Redesigned IO layer is now more scalable and efficient also removed .isl files [1]

Extended locking semantics to skip locked rows or ignore waits on locked row [1 2]

Use the new error logging infra structure [1]

System data dictionary is now stored in InnoDB [1]

New configuration to generate smaller core files [1]

Deprecate Shared tablespaces in partitioned table [1]

Reclaim temporary tablespace disk space online [1]

Data Dictionary

Transactional Data Dictionary [1]

Store all meta data in InnoDB, no FRMs, TRG etc [1,2]

Store redundant copy of meta data in SDI [1]

Atomic and crash safe DDL [1]

Automatic upgrade of dictionary tables, and enhanced checks [1]

Network

Support multiple addresses for the –bind-address command option [1]

Add Admin Port [1 2 3 4 5]

Remove the major mutex bottlenecks for connect/disconnect performance [1]

Error logging

Improved error logging in 8.0 [1]

Defaults change: log_error_verbosity=2 [1]

Added severity, error code, subsystem to error messages [1]

Filtering the error log [1]

Error logging in JSON format [1]

Force-print specific non-error messages to error log [1]

Suppress error logs of type warning or note [1]

Specify syslog/eventlog related system variables to component variables [1]

Added –log-slow-extra, for richer slow logging [1]

Replication

Multi-source Replication Per Channel Filters [1]

Atomic DDL Recovery With The Binary Log [1]

Write-set Based Transaction Dependency Tracking [1 2 ]

Reduced Contention Between Receiver and Applier Threads [1]

Binary Log Encryption at Rest [1]

GTID Support for Temporary Tables Inside Transactions [1]

Partial JSON Update Replication [1]

Extended table metadata in the binary log [1 2]

RESET MASTER TO ‘x’ [1]

Settable GTID_PURGED When GTID_EXECUTED is Not Empty [1]

Sub-second Binary Logs Expiration Settings [1]

Non-Blocking Replication Monitoring even when Disk is Full [1]

Transaction Byte Length Metadata in Binary log [1]

Server Versions for each Transaction in the Binary Log  [1, 2, 3]

Support for START SLAVE UNTIL for Multi-Threaded Applier [1]

Delayed Replication in Microseconds [1]

binlog-row-event-max-size system variable [1]

PFS: Applier Lag and Queues Monitoring [1 2 3]

PFS: Read Consistent Log Positions for Backups [1]

PFS: Row-based Replication Applier Thread Progress [1]

PFS: Counters for Replication Applier Retries [1]

Group Replication

Transaction Savepoint Support [1]

Disallow Writes to Isolated Members in Group Replication [1 2 3]

Group-wide Certification and Applier Stats Monitoring [1 2]

Options to Fine-tune the Flow-Control [1 2 3 4 5 6 7 8]

Support for Hostnames in the Whitelist [1]

Shutdown Server When Server Drops Out of the Group [1]

Online and User-Triggered Primary Switchover/Election [1 2]

Online and User-Triggered Single-to-Multi Primary Switchover [1 2]

Configurable Messaging Pipelining [1 2]

Relaxed Member Eviction [1]

Consistent Reads [1]

Consistent Reads on Primary Fail-over [1]

IPv6 Support [1 2]

Tracing for Message Passing [1]

Configure primary failover candidates priority [1 2]

PFS: Instrumented Threads [1 2]

PFS: Instrumented Mutexes and Condvars [1 2]

PFS: Instrumented Memory Used for the Message Cache [1 2]

Security

Make ACL statements atomic  [1]

Introduce delays in authentication based on failed logins  (also in 5.7.17) [1]

SQL Roles [1]

Break the SUPER privilege into dynamic privileges [1]

Automatic assignment and granting of default roles when new users are created [1 23]

Password rotation policy enforcement [1]

Caching sha2 authentication plugin: a SHA256 based plugin fast enough to replace mysql_native  [1]

Additional safety to –skip-grant-tables (enables –skip-networking too)  [1]

Audit log: abort queries on rule based conditions  [1]

Server as a keyring backend migration tool  (also in 5.7.21)  [1]

JSON format, compression and encryption for audit log    (5.7.21) [1]

Migrate away from yaSSL  [1]

Support for FIPs enabled OpenSSL library  [1]

Old password required for SET PASSWORD for some users [1]

Data masking functions (also in 5.7.24) [1] (Enterprise)

SASL authentication for LDAP on windows  (also in 5.7.24) [1]  (Enterprise)

Support 2 active passwords per user account  [1]

A SQL function to inject data into the Audit log  [1]

Secure session variable setting (MYSQL_SESSION_ADMIN privilege) [1]

Extra authentication to allow SET PERSIST for security sensitive variables  [1]

Add support for users with multiple LDAP groups (also in 5.7.25) [1]

Checking authorization for rolling back XA-transactions [1]

Ensure foreign key error does not reveal information about parent table [1]

Router

Persist last known metadata-server addresses [1]

Reset max_connect_errors on successful connections [1]

Build Router as part of the MySQL Serversource-tree [1]

Added mysqlrouter_plugin_info tool [1]

Reduced metadata-cache TTL from 300s to 500ms [1]

Added routing strategies [1]

Added bootstrap option for –report-host [1]

Added bootstrap option for –account-host [1]

Disconnect clients to server-nodes that changed from PRIMARY to SECONDARY [1]

Shell

MySQL 8.0 support for InnoDB clusters [1]

Remote MySQL server configuration and re-configuration for InnoDB clusters [1]

Extended cluster status display, including replication lag times [1]

Manual primary switch-over and topology re-configuration in InnoDB clusters [1]

Advanced cluster customizations for more use-cases and environments

MySQL server upgrade checker [1, 2]

Import JSON and JSON serialized BSON data  [1, 2]

Updated X DevAPI support

Secure password management [1, 2]

Display column metadata for query results  [1]

Direct command line execution of shell APIs [1]

Improved built-in help [1]

Screen paging [1]

Auto-completion [1]

Persisted command history [1]

Customizable prompts [1]

Misc

Added mysqld_safe-functionality to server [1 2 3]

Defaults change: explicit_defaults_for_timestamp= ON [1]

Defaults change: max_error_count=1024 [1]

Renamed tx_read_only variable to transaction_read_only [1]

Renamed tx_isolation variable to transaction_isolation [1]

Defaults change: max_allowed_packet=67108864 [1]

Defaults change: event_scheduler=ON [1]

Defaults change: back_log=-1 (auto-sized) [1]

Defaults change: table_open_cache=4000 [1 2]

New Backup Lock [1]

Server version stored in InnoDB tablespaces [1]

Enable MDL Locking for Recovered and Detached Prepared XA Transactions [1]

Support meta data locking for Foreign Keys [1]

The –ssl-mode client side option to streamline SSL checking [1]

The service registry and the component infrastructure [1]

CLI interface to read the replication stream  [1]

UDF registration service to allow components to auto-register UDFs  [1]

MySQL server strings component service  [1]

Keyring plugin for AWS KMS  5.7.19 [1]

LDAP authentication plugin (client and server)  5.7.19 [1]

Make result set metadata transfer optional  [1]

Status variables service for components [1]

performance schema instrumentation via a component service [1]

System variables service for components  [1]

Password validation plugin implemented as a component  [1]

Component service to deliver signals to the host application

Allow plugins to use prepared statements [1]

INSERT/UPDATE/DELETE in query rewrite plugin [1]

Dynamic allocation of sort buffer [1]

Variable length sort keys for NO PAD collations [1]

Faster SELECT COUNT (*) without grouping [1]

Source code improvements [1]

Thank you for using MySQL !

转自:MySQL 官方博客

https://mysqlserverteam.com/the-complete-list-of-new-features-in-mysql-8-0/

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,340评论 5 467
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,762评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,329评论 0 329
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,678评论 1 270
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,583评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 47,995评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,493评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,145评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,293评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,250评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,267评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,973评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,556评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,648评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,873评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,257评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,809评论 2 339

推荐阅读更多精彩内容

  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 9,432评论 0 13
  • mean to add the formatted="false" attribute?.[ 46% 47325/...
    ProZoom阅读 2,685评论 0 3
  • 人生中存在着无数的考卷:学校需要用它来衡量知识,领导需要用它来深入民心,群众需要用它来获得工作。虽然原因各不相同,...
    风信子也阅读 282评论 0 0
  • Do.302贝贝+2周+泡脚聊天 某天早晨我在客厅吃早饭,多拉在卧室穿衣服,爸爸在厨房。一会就听到多拉吭吭唧唧,大...
    贝儿的阅读 156评论 0 0
  • 文:柳铠点击☝收听桂林琴音精彩朗诵☝ 本期【有声简书精读】特别推荐 请点击☝本文开头的音频,收听美声简书猎人桂林琴...
    不勾心的豆角阅读 1,259评论 10 25