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推出的图片背景移除工具

相关推荐
梦幻精灵_cq1 分钟前
sumdir——一个伪python.built-in的“术法”打造
python
lusklusklusk1 小时前
Oracle数据库基础之11_Duplicate和Dataguard和RAC
数据库·oracle
weixin_440730501 小时前
函数return、参数、参数组、递归函数、高阶函数等小结
开发语言·python
天赐范式2 小时前
天赐范式第181天:让视图开始切换——PBFT视图切换与从safety到liveness的跨越
python·pbft·数字生命·天赐范式·动态运行时·拜占庭容错
sugarzhangnotes2 小时前
【无标题】
开发语言·人工智能·python
PHP实战开发录2 小时前
MySQL字段加索引为什么没变快
数据库·mysql·php·开发
weixin_447195292 小时前
【无标题】
pytorch·python
迅猛龙办公室2 小时前
Python实现简单的人名对话
python
阿坨3 小时前
firestart:一行命令启动你的日常应用和网页
python·pypi·cli·click
老歌老听老掉牙3 小时前
麻花钻切屑形态演变的力学机制与临界条件分析
python·算法·钻头