mysql如何升级版本至最新_mysql大版本平滑升级策略

MySQL大版本升级前必须确认5件事:确认真实版本、检查MyISAM表并转InnoDB、验证用户认证插件兼容性、运行mysqlcheck检查不兼容项、执行含物理文件的完整备份。MySQL 大版本升级前必须确认的 5 件事不能直接 apt upgrade mysql-server 或替换 RPM 包------大版本升级(如 5.7 → 8.0)不是补丁更新,底层数据字典、默认认证插件、SQL 模式都变了,跳过校验大概率导致服务起不来或数据不可读。mysqld --version 和 SELECT VERSION(); 确认当前真实版本(有些镜像里 mysql --version 显示客户端版本,会误判)检查是否用了 MyISAM 表------8.0 虽仍支持,但已废弃,mysql_upgrade 不再修复其索引损坏,必须先转成 InnoDB确认所有用户密码不是用 mysql_native_password 以外的插件(如 caching_sha2_password 在旧客户端可能连不上,尤其 PHP 7.4 以下、Navicat 旧版)运行 mysqlcheck -u root -p --all-databases --check-upgrade,它比人工扫 INFORMATION_SCHEMA 更准,能提前暴露不兼容的 JSON 字段、隐藏列等备份不是"导出 SQL",必须包含 mysqldump --all-databases --routines --triggers --events --single-transaction + 原始 ibdata1 和 ib_logfile* 的物理备份(用于回滚)8.0 升级后登录失败:caching_sha2_password 是真凶升级完启动正常,但应用连不上,错误是 Plugin caching_sha2_password could not be loaded 或 Authentication plugin 'caching_sha2_password' cannot be loaded------这不是 MySQL 没装好,是客户端不认新默认插件。临时解法(仅调试):ALTER USER 'xxx'@'%' IDENTIFIED WITH mysql_native_password BY 'pwd'; FLUSH PRIVILEGES;长期方案:PHP 用 mysqli_options($link, MYSQLI_OPT_SSL_MODE, MYSQLI_SSL_DISABLED) 配合新版驱动;Java JDBC 连接串加 ?serverTimezone=UTC&allowPublicKeyRetrieval=true&useSSL=false别改全局 default_authentication_plugin:它只影响新建用户,已有用户密码哈希方式不变,改了反而让部分用户无法登录mysql_upgrade 不再可用:8.0.16+ 必须用 mysqld --upgrade执行 mysql_upgrade 报错 Command not found 或 This command is deprecated------没错,它从 8.0.16 开始被移除。升级逻辑已合并进 mysqld 启动流程,手动调用只会白忙。 Adobe Image Background Remover Adobe推出的图片背景移除工具

相关推荐
运维行者_20 小时前
Applications Manager中的Redis监控
大数据·服务器·数据库·人工智能·网络协议
悦数图数据库1 天前
图数据库选型指南 2026:从架构、性能、AI 适配三个维度看 悦数科技
数据库·人工智能·架构
小江的记录本1 天前
【JVM虚拟机】垃圾回收GC:四种引用类型:强引用、软引用、弱引用、虚引用(附《思维导图》+《面试高频考点清单》)
java·jvm·spring boot·后端·python·spring·面试
APIshop1 天前
Python 获取 1688 商品采集 API 接口 | 工厂货源自动化对接商品信息 | 无需选品
运维·python·自动化
deepin_sir1 天前
10 - 函数
开发语言·python
handler011 天前
【MySQL】常用命令总结(库与表增删查改)
运维·数据库·mysql·命令·总结
week@eight1 天前
Linux - Doris
linux·运维·数据库·mysql
charlee441 天前
《GIS基础原理与技术实践》配套案例(Python版)
python·conda·numpy·gis·环境配置
枫叶林FYL1 天前
项目十:事件溯源仓储管理系统(WMS)仿真实现
开发语言·python