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