最近整理了一下MySQL 8.0的自動化安裝,其中用到了一個MySQL 5.7版本的自定義配置文件,由於沒有對(MySQL 8.0)做針對性修改,導致安裝過程中出現了一些錯誤其中部分原因就是MySQL 5.7時代的配置在MySQL 8.0不再被支持,同時某些參數不再建議使用,如果繼續保留在配置文件中 ...
最近整理了一下MySQL 8.0的自動化安裝,其中用到了一個MySQL 5.7版本的自定義配置文件,由於沒有對(MySQL 8.0)做針對性修改,導致安裝過程中出現了一些錯誤
其中部分原因就是MySQL 5.7時代的配置在MySQL 8.0不再被支持,同時某些參數不再建議使用,如果繼續保留在配置文件中,會導致8.0實例無法啟動。
query cache被棄用
MySQL 8.0不在支持query cache,因此query cache相關的參數被移除
1,query_cache_type
2,query_cache_size
binlog相關的參數
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中被刪除了。
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,提交代碼後,大量的代碼被刪除,結構看起來更清晰。
WL#8157: Remove deprecated GIS functions
刪除與GIS相關的舊功能。新函數被替換為ST_xxx。總共刪除了67個函數,包括它們的測試用例。
WL#8843: Deprecate and remove the parameter innodb_support_xa
刪除參數innodb_support_xa。原因是這個參數是無效的。
一方面,當XA設置為OFF時,PREPARE事務只能回滾,不能提交;另一方面,要保證Binlog/Engine failure recovery的數據一致性。
刪除此參數後,XA將預設啟用。
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模式選項。