共计 1679 个字符,预计需要花费 5 分钟才能阅读完成。
最近整理了一下 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 模式选项。