溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

MySQL5.7新增了什么新特性

發(fā)布時(shí)間:2021-08-17 21:59:10 來源:億速云 閱讀:149 作者:chen 欄目:MySQL數(shù)據(jù)庫

這篇文章主要介紹“MySQL5.7新增了什么新特性”,在日常操作中,相信很多人在MySQL5.7新增了什么新特性問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對(duì)大家解答”MySQL5.7新增了什么新特性”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!

新增特性

Security improvements. 
MySQL.user表新增plugin列,且若某賬戶該字段值為空則賬戶不能使用。從低版本MySQL升級(jí)至MySQL5.7時(shí)要注意該問題,且建議DBA將使用mysql_old_password插件的賬戶替換為使用 mysql_native_password插件。

數(shù)據(jù)庫管理員可以制定賬戶密碼自動(dòng)過期策略,密碼過期后必須強(qiáng)制進(jìn)行更改。(http://dev.mysql.com/doc/refman/5.7/en/password-expiration-policy.html)

數(shù)據(jù)庫管理員可以鎖定/解鎖賬戶來進(jìn)行更好的登錄控制,對(duì)應(yīng)的,mysql.user表中新增account_locked列來表示鎖定狀態(tài)。版本升級(jí)過程中要注意該問題。(http://dev.mysql.com/doc/refman/5.7/en/account-locking.html)

MySQL Server可以自動(dòng)創(chuàng)建SSL、RSA證書和Key文件來支持安全連接,前提是Server用OpenSSL編譯(http://dev.mysql.com/doc/refman/5.7/en/creating-ssl-rsa-files-using-mysql.html)

MySQL默認(rèn)的部署策略發(fā)生了變化,變得更加安全。mysql_install_db 棄用了,改用emysqld加-initialize或–initialize-insecure選項(xiàng)來初始化數(shù)據(jù)目錄。使用-initialize時(shí),默認(rèn)只創(chuàng)建’root’@’localhost’賬戶并產(chǎn)生隨機(jī)密碼、設(shè)置密碼過期,保存于error log,初次登錄需使用密碼并改變密碼。不再創(chuàng)建匿名賬戶和test數(shù)據(jù)庫。(http://dev.mysql.com/doc/refman/5.7/en/data-directory-initialization-mysqld.htmlhttp://dev.mysql.com/doc/refman/5.7/en/mysql-install-db.html)

SQL mode changes. 
默認(rèn)開啟STRICT_TRANS_TABLES SQL mode。 
ONLY_FULL_GROUP_BY SQL mode的實(shí)現(xiàn)更加精細(xì),且默認(rèn)開啟。 ERROR_FOR_DIVISION_BY_ZERO, NO_ZERO_DATE和NO_ZERO_IN_DATE默認(rèn)開啟(將來可能包含進(jìn)strict SQL mode,而移除這些單獨(dú)的模式),也即目前默認(rèn)的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. (http://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sql-mode-changes)

Online ALTER TABLE. 
支持RENAME INDEX從句且為in place操作無需table-copy,適用于各引擎。(http://dev.mysql.com/doc/refman/5.7/en/alter-table.html)

ngram and MeCab full-text parser plugins. 
內(nèi)置支持中日韓全文解析的ngram parser plugin和可安裝的支持日文全文解析的MeCab plugin。

InnoDB enhancements. 
VARCHAR 大小可通過 ALTER TABLE語句進(jìn)行原地(in place)修改,而無需table-copy。如:ALTER TABLE t1 ALGORITHM=INPLACE, CHANGE COLUMN c1 c1 VARCHAR(255);但存在限制,即只支持0~255字節(jié)內(nèi)的或者255以上字節(jié)間的增加,也就是說若從254增到256時(shí)不能使用INPLACE算法,必須使用COPY算法,否側(cè)報(bào)錯(cuò).這是因?yàn)?~255內(nèi)的VARCHAR值需要一個(gè)額外的字節(jié)來編碼,而256以上的VARCHAR值需要兩個(gè)字節(jié)來編碼。另外使用INPLACE算法縮小VARCHAR的ALTER TABLE也是不支持的,必須用COPY算法。

InnoDB臨時(shí)表的DDL性能提升。

InnoDB臨時(shí)表元數(shù)據(jù)不再存儲(chǔ)于InnoDB系統(tǒng)表而是存儲(chǔ)在INNODB_TEMP_TABLE_INFO,包含所有用戶和系統(tǒng)創(chuàng)建的臨時(shí)表信息。該表在第一次在其上運(yùn)行select時(shí)被創(chuàng)建。

InnoDB現(xiàn)在支持MySQL-supported空間數(shù)據(jù)類型。也即,之前的空間數(shù)據(jù)是以binary BLOB數(shù)據(jù)存儲(chǔ)的,現(xiàn)在空間數(shù)據(jù)類型被映射到了一個(gè)InnoDB內(nèi)部數(shù)據(jù)類型DATA_GEOMETRY.

對(duì)于non-compressed InnoDB臨時(shí)表有獨(dú)立的表空間,表空間在每次服務(wù)器重啟時(shí)于默認(rèn)的DATADIR中被重建,可通過innodb_temp_data_file_path選項(xiàng)指定其他路徑。

innochecksum (離線的InnoDB文件校驗(yàn)工具),新增新的選擇項(xiàng)或擴(kuò)展的功能,如,可指定特定的校驗(yàn)算法、可以只重寫校驗(yàn)值而不進(jìn)行驗(yàn)證、可指定允許的校驗(yàn)和不匹配量、顯示各類頁的個(gè)數(shù)、導(dǎo)出頁類型信息、輸出至日志、從標(biāo)準(zhǔn)輸入讀取數(shù)據(jù)等。目前可支持超過2G的文件。(http://dev.mysql.com/doc/refman/5.7/en/innochecksum.html)

針對(duì)臨時(shí)表及相關(guān)對(duì)象引入新的“non-redo” undo log,存放于臨時(shí)表空間。該類型的undo log非 redolog 因?yàn)榕R時(shí)表不需崩潰恢復(fù)、也就無需redo logs,但卻需要 undo log用于回滾、MVCC等。默認(rèn)的臨時(shí)表空間文件為ibtmp1,位于數(shù)據(jù)目錄在每次服務(wù)器啟動(dòng)時(shí)被重新創(chuàng)建,可通過innodb_temp_data_file_path指定臨時(shí)表空間。(http://dev.mysql.com/doc/refman/5.7/en/innodb-temporary-table-undo-logs.html)

可通過innodb_buffer_pool_dump_pct調(diào)整buffer pool中最近使用的頁讀取并dump的百分比。當(dāng)有其他InnoDB后臺(tái)任務(wù)所引起的I/O活動(dòng)時(shí),可通過 innodb_io_capacity 限制各I/O活動(dòng)包括 buffer pool load 操作的頻次。

InnoDB支持full-text parser 插件(http://dev.mysql.com/doc/refman/5.7/en/full-text-plugins.html)

支持多page cleaner線程從buffer pool中刷臟頁,通過 innodb_page_cleaners配置線程數(shù),默認(rèn)值為1.

支持使用INPLACE算法的online DDL語句重建普通表和分區(qū)表:OPTIMIZE TABLE、ALTER TABLE … FORCE、ALTER TABLE … ENGINE=INNODB。

Linux系統(tǒng)中Fusion-io Non-Volatile Memory (NVM)文件系統(tǒng)提供了原子寫能力,使InnoDB雙寫變得冗余。因此,MySQL5.7.4以后,對(duì)于支持原子寫的Fusion-io設(shè)備上的系統(tǒng)表空間InnoDB doublewrite buffer會(huì)自動(dòng)關(guān)閉。

對(duì)于分區(qū)表和獨(dú)立的InnoDB表分區(qū)從MySQL5.7.4開始支持“可傳輸”表空間,使得分區(qū)表的備份步驟更加容易也使得在不同MySQl實(shí)例間拷貝分區(qū)表和獨(dú)立的表分許成為可能。(http://dev.mysql.com/doc/refman/5.7/en/tablespace-copying.html)

可通過 innodb_buffer_pool_size 參數(shù)動(dòng)態(tài)調(diào)整buffer pool大小,resize以chunk為單位,chunk大小通過 innodb_buffer_pool_chunk_size配置,另可通過Innodb_buffer_pool_resize_status 狀態(tài)變量觀察調(diào)整過程。(http://dev.mysql.com/doc/refman/5.7/en/innodb-buffer-pool-online-resize.html)

MySQL5.7.5開始Multi-threaded page clean也在shutdown和recover階段被支持。

MySQL5.7.5后支持空間數(shù)據(jù)類型上建索引。且可通過 ALTER TABLE … ADD SPATIAL INDEX ALGORITHM=INPLACE進(jìn)行在線操作。

創(chuàng)建和重建索引時(shí)支持bulk load,該方法被稱為“sorted index build”,提升了索引創(chuàng)建效率,支持全文索引但不支持空間索引。可通過innodb_fill_factor定義每個(gè)頁的填充因子,剩余的空間用于將來的索引增長。(http://dev.mysql.com/doc/refman/5.7/en/sorted-index-builds.html)

使用新的日志記錄類型(MLOG_FILE_NAME)來識(shí)別上一個(gè)檢查點(diǎn)以來發(fā)生變化的表空間。這簡化了崩潰恢復(fù)時(shí)的表空間發(fā)現(xiàn),消除了redo log應(yīng)用之前的文件系統(tǒng)掃描。 (http://dev.mysql.com/doc/refman/5.7/en/innodb-recovery-tablespace-discovery.html).需要注意的是這一行為導(dǎo)致了redo log格式的變化,所以升級(jí)至MySQL5.7.5或者從改版本降級(jí)時(shí)需完全關(guān)閉MySQL。

可通過配置 innodb_undo_log_truncate來truncate undo表空間中的undo logs。系統(tǒng)表空間內(nèi)的undo logs不會(huì)被truncate。(默認(rèn)情況下undo log存儲(chǔ)于系統(tǒng)表空間,可通過innodb_undo_directory、 innodb_undo_logs、 innodb_undo_tablespaces進(jìn)行調(diào)整。http://dev.mysql.com/doc/refman/5.7/en/truncate-undo-tablespace.html )

支持本地化分區(qū)(native partitioning),之前需依賴ha_partition handler為每個(gè)分區(qū)創(chuàng)建handler對(duì)象,現(xiàn)在只需一個(gè)partition-aware handler對(duì)象,節(jié)約了內(nèi)存。(可通過mysql_upgrade或者ALTER TABLE … UPGRADE PARTITIONING將老方法建的分區(qū)表升級(jí)為新的)。

支持使用CREATE TABLESPACE語句創(chuàng)建通用表空間。并可以通過 CREATE TABLE tbl_name … TABLESPACE [=] tablespace_name 或者 ALTER TABLE tbl_name TABLESPACE [=] tablespace_name將表添加到創(chuàng)建的通用表空間。(http://dev.mysql.com/doc/refman/5.7/en/general-tablespaces.html)

可通過 innodb_default_row_format指定InnoDB表的默認(rèn)行格式,新版本的默認(rèn)值有COMPACT替換為了DYNAMIC 。

JSON support. 
MySQL5.7.8開始原生支持JSON數(shù)據(jù)類型,不再以字符串形式存儲(chǔ)而是以二進(jìn)制格式存儲(chǔ),允許快速讀取文檔元素。JSON列在插入或更新時(shí)會(huì)自動(dòng)進(jìn)行驗(yàn)證,文檔格式不正確會(huì)報(bào)錯(cuò)。除了可用常用比較操作符進(jìn)行比較外還引入一系列函數(shù)用于處理JSON類型。(http://dev.mysql.com/doc/refman/5.7/en/json.html)

System and status variables. (http://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html) 
優(yōu)先從performance_schema下的表中獲取系統(tǒng)變量和狀態(tài)變量信息(老版本從information_schema下的表中獲取,這些表將來會(huì)被移除),這對(duì)show variables 和show status語句也有影響,也即信息源來自于performance_schema。若想使用原來的表獲取信息可開啟show_compatibility_56 參數(shù)(不推薦,只作為升級(jí)過程中的輔助工具,將來會(huì)被移除)。(http://dev.mysql.com/doc/refman/5.7/en/performance-schema-variable-table-migration.html)

sys schema. 
包含sys庫,存儲(chǔ)從performance_schema收集用來輔助DBA和開發(fā)者的信息的相關(guān)對(duì)象,如,表和觸發(fā)器、視圖、存儲(chǔ)過程 
、存儲(chǔ)函數(shù)等,可用以調(diào)優(yōu)和問題診斷。(http://dev.mysql.com/doc/refman/5.7/en/sys-schema.html)

Condition handling.

Optimizer. 
explain可以用來獲取其他SESSION/CONNECTION中正在運(yùn)行的語句的執(zhí)行計(jì)劃(前提條件是正在運(yùn)行語句且語句類型支持EXPLAIN),語法為:EXPLAIN [options] FOR CONNECTION connection_id;其中connection_id即連接id,可由information_schema.processlist或者CONNECTION_ID()獲取。 
支持在語句中(以往是在optimizer_switch系統(tǒng)變量里)提供優(yōu)化器提示信息以便于對(duì)語句的執(zhí)行計(jì)劃進(jìn)行更還的控制。同樣,在使用explain/desc查看執(zhí)行計(jì)劃時(shí)也可以在語句中使用優(yōu)化提示,以便于查看優(yōu)化提示是如何影響執(zhí)行計(jì)劃的。(http://dev.mysql.com/doc/refman/5.7/en/optimizer-hints.html

Triggers. 
之前的版本每個(gè)表上對(duì)于某一觸發(fā)事件(insert\update\delete)和觸發(fā)時(shí)機(jī)(before\after)的組合只能有一個(gè)觸發(fā)器,新版本取消了這一限制。比如:值之前的版本,創(chuàng)建了如下觸發(fā)器后CREATE TRIGGER ins_sum BEFORE INSERT ON account FOR EACH ROW SET @sum = @sum + NEW.amount;不能在創(chuàng)建另外的基于 BEFORE INSERT ON account的觸發(fā)器了,新版本可以,只要觸發(fā)器不同名即可。

Logging. 
之前版本,Unix或類Unix系統(tǒng)上的MySQL支持將錯(cuò)誤日志發(fā)送到syslog,具體是通過mysqld_safe捕獲錯(cuò)誤輸出然后傳遞到syslog來實(shí)現(xiàn)的。新的版本原生支持將錯(cuò)誤日志輸出到syslog,且適用于windows系統(tǒng),只需要通過簡單的參數(shù)(log_syslog等)配置即可。(http://dev.mysql.com/doc/refman/5.7/en/error-log.html

mysql支持–syslog選項(xiàng),可將交互式的語句輸出到系統(tǒng)的syslog中(Unix或類Unix系統(tǒng)下一般是/var/log/message)。對(duì)于匹配“ignore”過濾規(guī)則(可通過 –histignore選項(xiàng)或者 MYSQL_HISTIGNORE環(huán)境變量進(jìn)行設(shè)置)的語句不會(huì)被記入。關(guān)于mysql客戶端的日志使用參見:http://dev.mysql.com/doc/refman/5.7/en/mysql-logging.html

Generated Columns. 
CREATE TABLE 和 ALTER TABLE語句支持Generated Columns.也即,列的值由其他列計(jì)算而得,這個(gè)計(jì)算列值的表達(dá)式在列定義中給出,當(dāng)有行插入或者更新時(shí)列值被計(jì)算并存儲(chǔ)。(http://dev.mysql.com/doc/refman/5.7/en/create-table.html#create-table-generated-columns

mysql client. 
之前mysql客戶端運(yùn)行時(shí)若有語句正在運(yùn)行Control+C會(huì)終止語句,若沒有語句正在運(yùn)行則會(huì)退出mysql客戶端。新版本中不會(huì)退出mysql客戶端。

Database name rewriting with mysqlbinlog. 
mysqlbinlog工具添加新的選項(xiàng)–rewrite-db,支持從行復(fù)制格式的二進(jìn)制日志中讀取事件時(shí)將數(shù)據(jù)庫名重寫 –rewrite-db=’dboldname->dbnewname’.可以通過指定多次該參數(shù)來指定多個(gè)重寫規(guī)則。

HANDLER with partitioned tables. 
可以在分區(qū)表上使用HANDLER(http://dev.mysql.com/doc/refman/5.6/en/handler.html)

Index condition pushdown support for partitioned tables. 
使用InnoDB或者M(jìn)yISAM的分區(qū)表上的查詢支持使用ICP(http://dev.mysql.com/doc/refman/5.7/en/index-condition-pushdown-optimization.html

WITHOUT VALIDATION support for ALTER TABLE … EXCHANGE PARTITION. 
ALTER TABLE … EXCHANGE PARTITION語句包含{WITH|WITHOUT} VALIDATION 從句,默認(rèn)為WITH VALIDATION ,會(huì)逐行驗(yàn)證交換過來的值是否滿足分區(qū)邊界定義。若指定了WITHOUT VALIDATION則不進(jìn)行驗(yàn)證。(http://dev.mysql.com/doc/refman/5.7/en/partitioning-management-exchange.html)

Master dump thread improvements. 
master dump thread進(jìn)行了重構(gòu)來減少鎖爭用提升master吞吐量。之前的版本中只要讀取一個(gè)時(shí)間dump thread就要獲取鎖;MySQL5.7.2和后續(xù)版本中,只有從最近一次成功寫入的事件末位位置讀取時(shí)才會(huì)獲取鎖。這意味值多個(gè)dump threads可并發(fā)讀取二進(jìn)制日志,且可以在客戶端向二進(jìn)制日志寫入時(shí)讀取。

Globalization improvements. 
開始包含gb18030字符集,支持 China National Standard GB18030 字符集。

Changing the replication master without STOP SLAVE. 
新版本MySQL主從復(fù)制時(shí)在執(zhí)行CHANGE MASTER TO語句前可不必執(zhí)行 STOP SLAVE。此時(shí),CHANGE MASTER語句的行為依賴于slave的SQL線程和IO線程;兩個(gè)線程的啟/停決定了某一時(shí)刻CHANGE MASTER TO語句中可以/不可以使用的選項(xiàng)。具體規(guī)則如下:

·      若SQL線程停止,則可在CHANGE MASTER TO語句中使用 RELAY_LOG_FILE, 
RELAY_LOG_POS和MASTER_DELAY 
選項(xiàng)的組合,即時(shí)是IO線程正在運(yùn)行中也無妨。若此時(shí)IO線程還在運(yùn)行則不能運(yùn)行除上述選項(xiàng)之外的選項(xiàng)。

·      若IO線程停止,則可以在CHANGE MASTER TO語句中使用除了RELAY_LOG_FILE, 
RELAY_LOG_POS和MASTER_DELAY 選項(xiàng)之外的任何選項(xiàng)的組合,即時(shí)是SQL線程正在運(yùn)行也無妨。

·      在運(yùn)行CHANGE MASTER TO…MASTER_AUTO_POSITION=1之前SQL線程和IO線程必須停止。

可通過 SHOW SLAVE STATUS命令檢查SQL線程和IO線程運(yùn)行狀態(tài)。 
之前的版本中若使用基于語句的復(fù)制且有臨時(shí)表那么在執(zhí)行STOP SLVAVE后執(zhí)行CHANGE MASTER TO可能在遠(yuǎn)slave上留下臨時(shí)表。新版本中會(huì)給出警告,如果在執(zhí)行CHANGE MASTER TO使Slave_open_temp_tables 仍為0.

Test suite. 
測(cè)試套件現(xiàn)在使用InnoDB作為默認(rèn)存儲(chǔ)引擎

Multi-source replication is now possible. 
開始支持多源復(fù)制也即從多個(gè)master向某一個(gè)salve復(fù)制。用于將多個(gè)server備份到單個(gè)server、合并表shard、從多個(gè)server合并數(shù)據(jù)到單個(gè)server等(目前不提供沖突檢測(cè)和解決方案,交由應(yīng)用層處理。http://dev.mysql.com/doc/refman/5.7/en/replication-multi-source.html)。

隨多源復(fù)制而引入的另外一項(xiàng)技術(shù)為復(fù)制信道(replication channels),Replication channels 使slave可以打開多個(gè)連接,每個(gè)信道連接至不同的master進(jìn)行復(fù)制。(http://dev.mysql.com/doc/refman/5.7/en/replication-channels.html)

Group Replication Performance Schema tables. 
performance_schema中新增一批表提供復(fù)制組相關(guān)信息(http://dev.mysql.com/doc/refman/5.7/en/performance-schema-replication-tables.html)

Group Replication SQL. 
引入如下兩條組復(fù)制控制語句:(http://dev.mysql.com/doc/refman/5.7/en/replication-group-sql.html
START GROUP_REPLICATION 
STOP GROUP_REPLICATION

廢棄特性

如下特性在MySQL5.7中不推薦使用,可能在將來的版本中被移除: 
ERROR_FOR_DIVISION_BY_ZERO, NO_ZERO_DATE和NO_ZERO_IN_DATE幾個(gè)sql mode不贊成使用了(但目前默認(rèn)開啟),長遠(yuǎn)的計(jì)劃是將這個(gè)mode包含進(jìn) strict mode而明確移除這幾個(gè)單獨(dú)的mode。 
關(guān)于賬戶管理語句有一下不贊成再使用的特性:

不推薦使用GRANT語句創(chuàng)建用戶,而推薦使用CREATE USER語句創(chuàng)建。這樣一來NO_AUTO_CREATE_USER這一sql mode對(duì)于GRANT語句也就沒什么意義了,所以也將降級(jí)。

不推薦使用GRANT語句修改賬戶屬性,而僅用于賬戶賦權(quán)。賬戶屬性通過CREATE USER或者ALTER USER在創(chuàng)建或修改時(shí)賦予或者改動(dòng);

不推薦使用IDENTIFIED BY PASSWORD ‘hash_string’ 語法,推薦使用IDENTIFIED WITH auth_plugin AS ‘hash_string’ ;

不推薦使用SET PASSWORD語句和PASSWORD()函數(shù),而推薦使用ALTER USER來修改賬戶密碼;

不推薦使用old_password系統(tǒng)變量。

不推薦使用GROUP BY隱式排序,推薦明確使用ORDER BY從句。(GROUP BY排序只是MySQL的擴(kuò)展語法,可能在將來版本移除)

不推薦使在EXPLAIN語句中使用EXTENDED和PARTITIONS關(guān)鍵字(仍可被識(shí)別但在新版本中已不必要。) 
–skip-innodb以及–innodb=OFF, –disable-innodb等不贊成使用,因?yàn)樾掳姹局蠭nnoDB不能能被禁止了。

不推薦使用log_warnings系統(tǒng)變量和–log_warnings選項(xiàng),推薦使用 log_error_verbosity 。

binlog_max_flush_queue_time 在新版本中已失效。

innodb_support_xa 在新版本中無效,因?yàn)閄A事務(wù)的兩階段提交在MySQL5.7中默認(rèn)支持。

metadata_locks_cache_size和metadata_locks_hash_instances、sync_frm、 character_set_database、collation_database系統(tǒng)變量不再起作用。

ENCRYPT(), ENCODE(), DECODE(), DES_ENCRYPT()和DES_DECRYPT() 不推薦使用,建議使用 AES_ENCRYPT() 和 AES_DECRYPT()。

請(qǐng)使用MBREquals()替代MBREqual()。

請(qǐng)使用Performance Schema替代INFORMATION_SCHEMA.PROFILING。

請(qǐng)使用原生的syslog替代mysqld_safe支持的syslog輸出。

mysqlcheck工具的–fix-db-names和–fix-table-names選項(xiàng)不推薦使用,以及ALTER DATABASE語句的UPGRADE DATA DIRECTORY NAME從句不推薦使用。

移除特性

對(duì)pre-4.1版本的密碼hash格式的支持被移除,相關(guān)聯(lián)的,old_passwords系統(tǒng)變量、 OLD_PASSWORD()函數(shù)被移除,mysql_old_password認(rèn)證插件被移除,–secure-auth選項(xiàng)無效且將在后續(xù)版本移除、 secure_auth 變量值允許為1,–skip-secure-auth被移除。

YEAR(2)不再被支持,請(qǐng)使用YEAR(4).

innodb_mirrored_log_groups被移除。

使用default_storage_engine代替storage_engine。

thread_concurrency、timed_mutexes 系統(tǒng)變量。

ALTER TABLE的IGNORE從句。

INSERT DELAYED 、 REPLACE DELAYED 中的DELAYED會(huì)被忽略,相關(guān)聯(lián)的mysqldump中的–delayed-insert 選項(xiàng)被移除,performance_schema.table_lock_waits_summary_by_table中相關(guān)列被移除,mysqlbinlog不再為INSERT DELAYED注解。

Windows系統(tǒng)中使用.sys文件的Database symlinking被移除而使用支持native symlink 的mylink。(http://dev.mysql.com/doc/refman/5.7/en/windows-symbolic-links.html)

mysql_upgrade中的–basedir, –datadir 和–tmpdir 選項(xiàng)。 
選項(xiàng)前綴不再被支持,只支持使用選項(xiàng)全名,比如要用–key-buffer-size而不能用–key-buffer,還有–skip-grant-tables與–skip-grant等。

SHOW ENGINE INNODB MUTEX輸出被移除,可通過Performance Schema表上創(chuàng)建視圖獲取相關(guān)信息。

InnoDB表空間監(jiān)控和InnoDB表監(jiān)控被移除。表監(jiān)控信息可通過INFORMATION_SCHEMA表獲取。

用于啟用和禁用InnoDB Monitor以及InnoDB Lock Monitor的特殊命名的表被移除,由 innodb_status_output和innodb_status_output_locks兩個(gè)動(dòng)態(tài)的系統(tǒng)變量取代.(http://dev.mysql.com/doc/refman/5.7/en/innodb-monitors.html

innodb_use_sys_malloc 和 innodb_additional_mem_pool_size 系統(tǒng)變量移除。

msql2mysql, mysql_convert_table_format, mysql_find_rows, mysql_fix_extensions, mysql_setpermission, mysql_waitpid, mysql_zap, mysqlaccess和mysqlbug 移除。

mysqlhotcopy被移除,可以使用mysqldump和 MySQL Enterprise Backup或者一些開源工具。

binary-configure.sh腳本被移除。

INNODB_PAGE_ATOMIC_REF_COUNT CMake選項(xiàng)被移除

innodb_create_intrinsic選項(xiàng)、 innodb_optimize_point_storage 、innodb_log_checksum_algorithm 選項(xiàng)被移除。

 

到此,關(guān)于“MySQL5.7新增了什么新特性”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI