必须验证三项硬性前置条件:操作系统版本≥CentOS 7.9/Ubuntu 18.04/Debian 10;MySQL 8.0版本≥8.0.37;XA RECOVER返回空结果。同时需将MASTER_参数全改为SOURCE_,并调整innodb_log_buffer_size默认值。
跳过任意一项,升级后大概率卡在启动或连接阶段,不是配置问题,是服务根本起不来:
CentOS 7.9 / Ubuntu 18.04 / Debian 10(EL6、Debian 9 及更旧系统已被 MySQL 8.4 彻底放弃)8.0.37(低于此版本存在元数据升级 bug,最新明确不支持升级)XA RECOVER 返回空结果(若有未提交 XA 事务,mysqld 启动时会静默 hang 住,不报错也不退出)MySQL 8.4 不再兼容旧写法,以下几处必须手动调整,否则报错直接拒绝启动:
MASTER_HOST、MASTER_USER 等所有 MASTER_* 复制参数 → 全部改为 SOURCE_*(如 SOURCE_HOST),否则报 Unknown system variable 'MASTER_HOST'
innodb_log_buffer_size 默认值从 16M 提升至 64M,若服务器物理内存 16M,否则启动失败query_cache_* 相关配置必须删除(MySQL 8.4 彻底移除查询缓存模块,保留会触发启动警告并被忽略)报错 Error 1524 (HY000): Plugin 'mysql_native_password' is not loaded,不是密码错了,是插件根本没加载:
caching_sha2_password 登录:mysql -u root -p --default-auth=caching_sha2_password
INSTALL PLUGIN mysql_native_password SONAME 'auth_socket.so';(注意文件名是 auth_socket.so,不是 auth_mysql_native_password.so)ALTER USER 'app_user'@'%' IDENTIFIED WITH mysql_native_password BY 'newpass';
mysql-connector-j 5.1),必须升级到 8.0+ 驱动,否则握手仍失败这些问题不会报错,但上线后才暴露,且排查路径极绕:
mysql-connector-j 8.4.0 存在最新确认 Bug #115736:ARM64 下连接初始化固定卡顿 30 秒,x86_64 Linux 普遍超 2 秒,高并发下频繁触发 SQLNonTransientConnectionException: Got an error writing communication packets —— 必须弃用,改用 8.4.1 或更高版本innodb_change_buffering 默认值从 all 改为 none,高频二级索引写入场景(如日志归档、ETL 导入)延迟毛刺变多、QPS 下降,旧配置未显式设置则实际已关闭 change bufferinnodb_buffer_pool_instances 等参数默认值改为动态计算,行为不可预测,生产环境必须显式配置,不能依赖默认值XA RECOVER 是否为空、innodb_log_buffer_size 是否适配内存、驱动是否踩了 Bug #115736 —— 这些点不提前验证,故障一定发生在最不该出问题的时候。 小米路由器3G怎么恢复出厂设置(小米路由器3G该如何恢复出厂设置)
小米路由器3g和4a千兆版哪个好(小米路由器3g和4a千兆版对比区别)
Sensor Tower:ChatGPT全球份额跌破50%,Gemini与Claude加速追赶
OpenAI提速狂飙16倍!GPT-5.6多智能体V2上线,741轮怪物对话1秒打开
“十五五”时期 煤矿危险繁重岗位将由机器人替代
waytouniverse/ppt-generator:从 Markdown 大纲生成风格统一的 PPT 图片