最近整理了一下MySQL 8.0的自動化安裝,其中用到了一個MySQL 5.7版本的自定義配置文件,因爲沒有對(MySQL 8.0)作針對性修改,致使安裝過程當中出現了一些錯誤
其中部分緣由就是MySQL 5.7時代的配置在MySQL 8.0再也不被支持,同時某些參數再也不建議使用,若是繼續保留在配置文件中,會致使8.0實例沒法啓動。
mysql
query cache被棄用sql
MySQL 8.0不在支持query cache,所以query cache相關的參數被移除
1,query_cache_type
2,query_cache_size
bootstrap
binlog相關的參數ide
expire-logs-days:被binlog_expire_logs_seconds替代,可是MySQL 8.0 下 expire-logs-days尚被支持
若是要管理binlog,參數爲:skip-log-bin = 1
函數
查詢了一下相關的資料,發現這篇文章總結的相對比較全面一點,譯文以下:測試
本文總結了MySQL 8.0初版中刪除的參數和特性。一些參數和特性在MySQL 8.0中被設置爲棄用。
其餘一些在MySQL 5.7或更早的版本中被設置爲棄用,可是在MySQL 8.0中被刪除了。
spa
WL#7704:InnoDB: Remove deprecated file format parameters in 8.0
支持文件格式配置的目的是保持與早期版本的兼容性。在MySQL 8.0以前的版本中,支持兩種主要的文件格式:
1,Antelope:對應的行格式爲:緊湊、冗餘。
2,Barracuda:新的文件格式。對應的行格式是:壓縮的、動態的。
因爲早期版本已經通過了長時間維護,舊的文件格式再也不在MySQL 8.0中維護。
所以,刪除舊代碼有助於澄清代碼結構。刪除了與file_format相關的幾個參數:
innodb_file_format
innodb_file_format_check
innodb_file_format_max
innodb_large_prefix
刪除INFORMATION_SCHEMA中與文件格式相關的列:innodb_sys_tables,提交代碼後,大量的代碼被刪除,結構看起來更清晰。orm
WL#8157: Remove deprecated GIS functions
刪除與GIS相關的舊功能。新函數被替換爲ST_xxx。總共刪除了67個函數,包括它們的測試用例。server
WL#8843: Deprecate and remove the parameter innodb_support_xa
刪除參數innodb_support_xa。緣由是這個參數是無效的。
一方面,當XA設置爲OFF時,PREPARE事務只能回滾,不能提交;另外一方面,要保證Binlog/Engine failure recovery的數據一致性。
刪除此參數後,XA將默認啓用。blog
WL#8894: InnoDB: Remove deprecated parameter innodb_locks_unsafe_for_binlog
與上面同樣,參數innodb_locks_unsafe_for_binlog在MySQL 5.6中被標記爲棄用,並從MySQL 8.0的代碼中刪除。
(參數的指令文件。可是,我想在正常狀況下沒有人會設置它。)
WL#9071: Remove mysql_install_db and server — bootstrap option
刪除mysql_install_db,並刪除mysqld的引導參數。未來,要安裝實例,您須要使用mysqld - initialize
WL#9014: Deprecate and remove mysql_shutdown()
刪除C代碼中API mysql_shutdown,刪除命令類型COM_SHUTDOWN .COM_SHUTDOWN
WL#9091: Remove — ssl, — ssl-verify-server-cert client-side options
刪除- ssl、- ssl-verify-server-cert客戶端選項。未來,您可使用WL#8785實現的- ssl模式選項。