MySQL 5.7版本新特性(一)
本文將和大家一起分享下5.7的新特性,不過我們要先從即將被刪除的特性以及建議不再使用的特性說起。根據(jù)這些情況,我們在新版本及以后的版本中,應(yīng)該不再使用,避免未來產(chǎn)生兼容性問題。
本文是基于MySQL-5.7.7-rc版本,未來可能 還會發(fā)生更多變化。
1、即將刪除的特性
1.1、取消InnoDB monitoring features,詳見:WL#7377(訪問地址:http://dev.mysql.com/worklog/task/?id=7377,下面的其他WL,可以自行替換)
【建議】可以動態(tài)修改 innodb_status_output、innodb_status_output_locks 兩個參數(shù)的值打印相關(guān)信息,或者直接查看INFORMATION_SCHEMA下的相關(guān)表。
1.2、取消old-password支持,4.1之前的就密碼認(rèn)證模式已經(jīng)禁用,old_passwords參數(shù)不可用,WL#8006
【建議】盡快升級舊密碼串,同時升級MySQL版本,不要告訴我,你還在用4.1甚至更早的版本。
1.3、部分SQL語法不可用
1.3.1、ALTER TABLE ... IGNORE。
1.3.2、INSERT DELAY特性,但保留這個語法。WL#6073
1.3.3、ERROR_FOR_DIVISION_BY_ZERO, NO_ZERO_DATE, NO_ZERO_IN_DATE SQL MODES 等幾個SQL MODE合并到STRICT中。不過可能會導(dǎo)致replication失敗,所以還在考慮中。WL#7467
1.3.4、不再支持YEAR(2),建議盡快升級成YEAR(4)。WL#6263
【建議】盡可能使用標(biāo)準(zhǔn)SQL語法,不再使用MySQL特有的,或者不是那么嚴(yán)格要求的語法,避免以后版本升級遇到更多麻煩。
1.4、一些參數(shù)不可用
1.4.1、不再支持一些指令的簡短寫法,必須要求寫全了,例如mysqldump --compr表示 mysqldump --compress,以后必須將整個參數(shù)寫完整。WL#6978
1.4.2、刪除timed_mutexes。WL#7436
1.4.3、不能再禁用InnoDB引擎,因為系統(tǒng)表也都改成InnoDB了。WL#7976
1.4.4、性能提升有限,刪除innodb_use_sys_malloc、innodb_additional_mem_pool_size。WL#7628
1.4.5、意義不大,刪除innodb_mirrored_log_groups。WL#6808
1.4.6、已經(jīng)有新的系統(tǒng)參數(shù)代替了,刪除innodb_file_io_threads。WL#7149
1.4.7、刪除系統(tǒng)參數(shù)storage_engine,改用default_storage_engine。WL#7148
1.4.8、刪除mysql_upgrade中的--basedir和--datadir系統(tǒng)參數(shù)。WL#7010
1.5、一些客戶端工具即將消失
mysqlaccess、mysql_convert_table_format、mysql_fix_extensions、mysql_find_rows.sh、mysql_setpermission、msql2mysql、mysqlbug、mysql_zap and mysql_waitpid、mysqlhotcopy將不再使用。
【建議】沒什么好說的,順應(yīng)潮流跟上新版本吧,該放棄的就放棄,不要抱殘守缺了,這些工具也基本上都用不上的。
下一期,我們講講5.7中不再建議使用的特性, 也就是未來可能會被刪除的特性。
參考:http://dev.mysql.com/doc/refman/5.7/en/mysql-nutshell.html#mysql-nutshell-removals