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

相关推荐
xywww1681 小时前
大模型 API 选型实战:GPT、Gemini、Claude 接入时该看哪些指标?
运维·服务器·人工智能·python·gpt·langchain
欢呼的太阳6 小时前
数据库设计Step by Step (10)——范式化
服务器·数据库·oracle
夜雪一千6 小时前
Python enumerate() 函数完整详解:遍历同时获取索引,告别手动计数
服务器·windows·python
喜欢的名字被抢了7 小时前
MySQL基础入门:从零理解数据库与SQL
数据库·mysql·教程
能有时光7 小时前
PyTorch KernelAgent 源码解读 ---(4)--- ExtractorAgent
人工智能·pytorch·python
_Jimmy_7 小时前
Python 协程库如何使用以及有哪些使用场景
python
aqi008 小时前
15天学会AI应用开发(十七)使用LangGraph实现会话记忆功能
人工智能·python·大模型·ai编程·ai应用
Elastic 中国社区官方博客8 小时前
如何比较两个 Elasticsearch 索引并找出缺失的文档
大数据·运维·数据库·elasticsearch·搜索引擎
第一程序员8 小时前
Rust Agent 子进程执行:Command 之前,先定义输入和超时
python·rust·github
DLYSB_8 小时前
生命通道:如何用 HIS 医疗系统直连网络声光终端,打造“零延误”的危急值响应网关?
java·网络·数据库·报警灯