MySQL 2026年4月 8.0停止维护,升级将遇到什么问题?
最近关心MySQL的有点少,主要是大部分数据库都迁移到PolarDB for MySQL上,而最近看percona的一则信息,2026年4月MySQL8.0将停止8.0的维护,也就是说8.0的安装补丁,问题bug的解决,漏洞的修补将全部不在负责,如果你还给Oracle提交8.0数据库的一些问题,他们也将不搭理你。
同时也要注意到MySQL里面习惯看到的deprecated的警告将变成真的。目前MySQL建议升级到LTS 8.4版本的MySQL. 同时一些老的管理MySQL的工具也该更新了,比如一直使用的MySQL,应该更新为mysql shell,mysqlsh,同时带来的问题还有一些命令,set password = password的命令,也将被抛弃,这说明还停留在8.0以及8.0以下版本知识的DBA,将可能会陷入尴尬。
另外针对老版本写的程序,周边的软件很可能在你升级数据库后,无法使用,这一部分是由于系统变量名称的改变,也有一部分是新的系统变量的加入老的系统变量被替代导致的,监控,分析软件出现问题,这些软件也需要同步升级,如果很不幸你是自己开发或者是开源的,那么就不好说了。
MySQL 8.0 → 8.4 重要变更汇总
已移除 (Removed) 的系统变量与功能
tx_isolation | transaction_isolation,在 my.cnf 与连接字符串中替换 | ||
tx_read_only | transaction_read_only,全局替换 | ||
expire_logs_days | binlog_expire_logs_seconds,如 expire_logs_days = 7 → binlog_expire_logs_seconds = 604800 | ||
rpl_semi_sync_master_wait_for_slave_count | rpl_semi_sync_source_wait_for_replica_count | ||
rpl_semi_sync_master_timeout | rpl_semi_sync_source_timeout | ||
rpl_semi_sync_master_trace_level | rpl_semi_sync_source_trace_level | ||
rpl_semi_sync_slave_trace_level | rpl_semi_sync_replica_trace_level | ||
group_replication_ip_whitelist | group_replication_ip_allowlist | ||
skip_name_resolve | 0 或 1 设置 | ||
PASSWORD() | CREATE USER ... IDENTIFIED BY '...' 或 ALTER USER ... IDENTIFIED BY '...' 替代 | ||
CHANGE MASTER TOSTART SLAVE, ... | CHANGE REPLICATION SOURCE TO,START REPLICA,SHOW REPLICA STATUS |
已弃用 (Deprecated) 的系统变量与功能
mysql_native_password | mysql.user 表,把用户迁移至 caching_sha2_password 等更安全方式 | ||
default_authentication_plugin | default_authentication_policy,提供更灵活策略 | ||
FLUSH HOSTS | |||
--skip-grant-tables | --init-file 方法进行密码恢复 | ||
FLOAT(M,D)DOUBLE(M,D) | FLOAT / DOUBLE,精度和格式在应用逻辑中处理 |
以下是一些根据 MySQL 更新日志或常见实践判断,可能也属于“已移除”或“已弃用”的项目,建议你核对并决定是否需要加入文档:
已移除的一些参数
--log_slow_verbosity:MySQL 8.4 之后可能进一步简化日志参数配置
stored_program_cache_size:该参数在 8.0 中弃用,可能在 8.4 中已移除
已弃用的一些参数
query_cache_size, query_cache_type:虽然早在 8.0 即废弃,但确认下是否仍有残余设定提示
innodb_old_blocks_time:优化相关参数,检查是否仍被警告将废弃
innodb_print_all_deadlocks:诊断参数,确认是否仍推荐迁移为新方案
随着MySQL高版本的使用的数量的公司和人减少,高版本的知识和一些内容在网上搜到的越来越少,如果要使用高版本的MySQL 可能还有更多的部分需要补充,备份,高可用的方案等等,期待一些使用高版本的个人和公司可以将这部分知识进行共享。