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模式选项。