MySQL 8.0 版本相对于 5.7 版本加入了许多新的特性,同时也移除了一些无用的功能和参数配置。本文汇总了MySQL 8.0 移除的配置参数和状态变量,有些参数是真的彻底不用了,比如查询缓存相关的参数,而有些参数只是换了个更加规范的名称,比如事务隔离级别,详细信息见下文。
1. 查询缓存相关参数
查询缓存功能在8.0.3版本中被整体移除,涉及到的配置参数和状态变量如下:
配置参数:
- query_cache_type
- query_cache_size
- query_cache_limit
- query_cache_min_res_unit
- query_cache_wlock_invalidate
- query_cache_strip_comments(percona版本)
状态变量:
- Qcache_free_blocks
- Qcache_free_memory
- Qcache_hits
- Qcache_inserts
- Qcache_lowmem_prunes
- Qcache_not_cached
- Qcache_queries_in_cache
- Qcache_total_blocks
2. 事务相关参数
- tx_isolation,事务隔离级别,在8.0.3版本被移除,使用参数 transaction_isolation 替代。
- tx_read_only,只读事务,在8.0.3版本被移除,使用参数 transaction_read_only 替代。
3. 日志相关参数
- log_warnings,记录非严重的告警日志,在8.0.3版本被移除。
- log_builtin_as_identified_by_password,对 CREATE/ALTER USER 语句涉及到内置授权插件时,写binlog日志是否改写密码相关的子句,在8.0.11版本被移除。
- log_error_filter_rules,错误日志的过滤规则,在8.0.2版本加入,在8.0.4版本被移除。
- log_syslog,是否写错误日志到syslog,在8.0.13版本被移除。
- log_syslog_facility,错误日志写入 syslog 的方式,默认值为daemon,在8.0.13版本被移除。
- log_syslog_include_pid,syslog消息中,是否包含mysql server的进程号pid,在8.0.13版本被移除。
- log_syslog_tag,syslog消息中,mysql server的tag标识,在8.0.13版本被移除。
4. 数据类型格式
- date_format,未使用,date类型格式,在8.0.3版本被移除。
- datetime_format,未使用,DATETIME/TIMESTAMP类型格式,在8.0.3版本被移除。
- time_format,未使用,TIME类型的格式,在8.0.3版本被移除。
5. innodb相关参数
- Innodb_available_undo_logs ,显示InnoDB回滚段的数量,在8.0.2版本被移除。与innodb_rollback_segments 不同,Innodb_available_undo_logs 显示的是可用的回滚段数量。
- innodb_checksums,启用innodb checksum验证,在8.0.0版本被移除。8.0 使用 innodb_checksum_algorithm参数来启用innodb checksum功能。
- innodb_disable_resize_buffer_pool_debug,禁用innodb buffer pool大小动态调整,该参数只在编译MySQL时使用WITH_DEBUG选项时才可用,在8.0.0版本被移除。
- innodb_file_format,innodb表空间文件格式,在8.0.0版本被移除。
- innodb_file_format_check,是否对innodb表空间文件格式进行兼容性检查,在8.0.0版本被移除。
- innodb_file_format_max,系统表空间中的文件格式标记,在8.0.0版本被移除。
- innodb_large_prefix,是否启用更长的前缀索引,在8.0.0版本被移除。
- innodb_locks_unsafe_for_binlog,强制InnoDB不使用next-key锁,仅使用行级锁,在8.0.0版本被移除。
- innodb_scan_directories,InnoDB崩溃恢复阶段扫描表空间的目录,在8.0.2版本加入,在8.0.4版本被移除。
- innodb_stats_sample_pages,innodb索引分布统计时采样的页面数量,在8.0.0版本被移除,使用参数innodb_stats_transient_sample_pages代替。
- innodb_support_xa,是否启用innodb xa两阶段提交功能,在8.0.0版本被移除,xa事务默认启用。
- innodb_undo_logs,innodb undo log 回滚段的数量,它是参数innodb_rollback_segments 的别名,在8.0.2版本被移除,保留参数innodb_rollback_segments。
6. 主从复制参数
状态变量:
- Slave_heartbeat_period,从库复制心跳包发送的时间间隔,单位秒。在8.0.1版本被移除。
- Slave_last_heartbeat,记录最近的一次心跳包时间戳,在8.0.1版本被移除。
- Slave_received_heartbeats,从库收到的心跳包数量,在8.0.1版本被移除。
- Slave_retried_transactions,从库SQL线程重试事务的次数,在8.0.1版本被移除。
- Slave_running,从库复制的状态,指IO线程的状态,在8.0.1版本被移除。
以上状态变量受参数 show_compatibility_56 影响,show_compatibility_56 为 ON时,才能显示这些状态变量。
7. 组复制参数
group_replication_allow_local_disjoint_gtids_join,是否允许当前节点加入复制组时,这个节点里含有不属于组的事务,在8.0.4版本被移除。
8. 其他参数
- bootstrap,MySQL安装脚本使用的参数,在8.0.0版本被移除,替换方案使用--initialize 或者 --initialize-insecure 参数。
- des-key-file,指定一个key文件,用于函数des_encrypt() 和 des_decrypt,在8.0.3版本被移除。
- have_crypt,表示crypt()系统调用的可用性,在8.0.3版本被移除。
- ignore-db-dir,将某个目录作为非数据库对待,在8.0.0版本被移除。
- ignore_db_dirs,将某些目录作为非数据库对待,在8.0.0版本被移除。
- ignore_builtin_innodb,MySQL早期版本使用,忽略内置的innodb,在8.0.3版本被移除。
- internal_tmp_disk_storage_engine,内部临时表的存储引擎类型,在8.0.16版本被移除。
- max_tmp_tables,该参数未使用,8.0.3版本被移除。
- metadata_locks_cache_size,元数据锁缓存的大小,8.0.13版本被移除。
- metadata_locks_hash_instances,元数据锁hash实例的个数,8.0.13版本被移除。
- multi_range_count,该参数未使用,8.0.3版本被移除。
- old_passwords,控制查询密码函数PASSWORD()使用的hash方法,8.0.11版本被移除。
- partition,打开或者关闭分区功能,在8.0.0版本被移除。
- secure_auth,不允许账号使用旧的密码(pre-4.1)授权,在8.0.3版本被移除。
- show_compatibility_56,SHOW STATUS/VARIABLES 语句的兼容性,在8.0.1版本被移除。
- skip-partition,禁用用户定义的分区,在8.0.0版本被移除。
- sync_frm,同步.frm文件到磁盘,在8.0.0版本被移除。
- temp-pool,启用这个参数,将导致创建的大多数临时文件使用一个小的临时文件名称集合,而不是为每一个临时文件使用一个唯一的名称。在8.0.1版本被移除。
- Com_alter_db_upgrade,状态变量,执行 ALTER DATABASE ... UPGRADE DATA DIRECTORY NAME 语句的数量,在 8.0.0 版本被移除。