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+ 以上版本,直接按本文第一套方法走,基本一次成功。

相关推荐
云技纵横1 天前
唯一索引 INSERT 死锁实战:5 秒复现交叉插入的 S 锁循环等待
sql·mysql
沉默王二1 天前
面试官:RAG 不用向量数据库,用 MySQL 硬扛?我:100 万向量不是很轻松?
mysql·面试·ai编程
小猿姐2 天前
MySQL Top 10 热点问题 AI 运维实战:从内核诊断到云原生运维
mysql·云原生·aiops
云技纵横2 天前
Gap Lock 死锁实战:5 秒在本地复现 MySQL 间隙锁死锁
后端·mysql
无响应de神2 天前
三、用户与权限管理
数据库·mysql
摇滚侠3 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
ApacheSeaTunnel3 天前
实战演示 | 基于 Apache SeaTunnel 与 Apache DolphinScheduler 实现 MySQL 到 Doris 离线定时增量同步
大数据·mysql·开源·doris·数据集成·seatunnel·数据同步
DARLING Zero two♡3 天前
【MySQL数据库】数据类型与表约束
数据库·mysql
活宝小娜3 天前
mysql详细安装教程
数据库·mysql·adb