Windows 下 MySQL sys 数据库误删恢复教程(mysql_upgrade 已废弃,新版适用)

目录

[一、新版 MySQL 修复机制](#一、新版 MySQL 修复机制)

二、恢复前准备

三、使用服务器强制修复

四、总结


在日常使用 MySQL 时,不少同学会不小心把系统自带的 sys 数据库删掉。删掉之后,虽然业务库一般还能用,但性能监控、部分管理工具会异常,看着也很闹心。

以前大家常用 mysql_upgrade 来修复,但从较新版本 MySQL(尤其是 8.0+)开始,官方已经明确提示:

The mysql_upgrade client is now deprecated.mysql_upgrade 客户端已被废弃,相关升级、修复逻辑现在由服务器自动完成。

下面在 Windows 上真正可用、符合新版 MySQL 规范的 sys 库恢复方法,全程亲测有效。


一、新版 MySQL 修复机制

从新版 MySQL 开始:

  • mysql_upgrade 已废弃,不再推荐使用
  • 升级 / 修复系统表、重建 sys 库的逻辑,由 mysqld 服务器自动执行
  • 启动时服务器会自动检查数据目录,自动修复系统表
  • 支持通过启动参数控制是否升级 / 修复

核心参数:

  • --upgrade=FORCE:强制执行升级 / 修复序列,用来重建 sys 库非常合适
  • --upgrade=NONE:不执行任何升级,避免意外修复
  • --upgrade=MINIMAL:仅最小启动,不跑升级,方便你手动排错

二、恢复前准备

  1. 备份数据目录默认路径一般是:

    复制代码
    C:\ProgramData\MySQL\MySQL Server 8.0\Data

    直接复制整个 Data 文件夹到其他盘备份。

  2. 停止 MySQL 服务以管理员身份打开 CMD 或 PowerShell:

    复制代码
    net stop MySQL80

    服务名如果不是 MySQL80,可以去「服务」里看一眼。

  3. 找到你的 mysqld.exe典型路径:

    复制代码
    C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe

三、使用服务器强制修复

直接用 mysqld 强制触发升级修复流程,它会自动重建 sys 库。

  • 管理员 CMD 进入 bin 目录:

    复制代码
    cd "C:\Program Files\MySQL\MySQL Server 8.0\bin"
  • 执行强制修复:

    复制代码
    mysqld --datadir="C:\ProgramData\MySQL\MySQL Server 8.0\Data" --upgrade=FORCE
  • 等待命令执行完成屏幕输出一堆日志,没有报错、稳定停下就成功。

  • 启动 MySQL:

    复制代码
    net start MySQL80
  • 登录验证:

    复制代码
    SHOW DATABASES;

    能看到 sys 库就恢复成功了。


四、总结

在 Windows 上恢复误删的 sys 库:

  1. 优先用:mysqld --upgrade=FORCE 自动修复
  2. 全程不需要重装 MySQL,不会丢业务数据
  3. 操作前备份 Data 目录,永远不翻车

如果你用的是 MySQL 8.0.20+ 以上版本,直接按本文第一套方法走,基本一次成功。

相关推荐
晚安日记wanna13 小时前
MySQL 回表为什么这么慢?5 种优化手段逐个拆解
数据库·mysql·性能优化
晚安日记wanna13 小时前
索引建了却不走?7 个失效原因逐层排查
数据库·mysql·性能优化
ao-weilai15 小时前
MySQL数据库:基本查询
android·数据库·mysql
java1234_小锋15 小时前
【技术专题】Mysql8 数据库 - Mysql8 查询数据
数据库·mysql
ShineWinsu17 小时前
对于Redis:事务的解析
数据库·redis·mysql·缓存·面试·事务·acid
ao-weilai19 小时前
MySQL数据库:内置函数
android·数据库·mysql
2603_9695792820 小时前
中小团队数据库选型:MySQL vs PostgreSQL,业务场景怎么选
数据库·mysql·postgresql
于指尖飞舞21 小时前
mysql和redis面试题总结
数据库·redis·mysql
ao-weilai21 小时前
MySQL数据库:复合查询
android·数据库·mysql
FYKJ_201021 小时前
SpringSecurity教室智能预约系统73972-计算机课程设计、毕业设计
java·vue.js·spring boot·python·mysql·spring·django