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

相关推荐
【心态好不摆烂】8 小时前
MySQL——复合查询
数据库·mysql
瞬间&永恒~8 小时前
【MySQL】 InnoDB 锁等待排查与并发压测实验
运维·数据库·mysql
烟漠河洛9 小时前
俄罗斯电商3200亿卢布疯长:跨境支付与多平台订单系统架构解析
mysql·php
总捣什么乱110 小时前
MySQL MySQL是怎么保证主备一致的?
android·mysql·adb
鹿鸣天涯12 小时前
应急响应:MySQL日志分析
mysql·安全·adb·oracle
学编程就要猛12 小时前
解析博客系统后端实现
java·mysql·jwt·摘要算法·加盐
9624561 天前
从 DBeaver 内存溢出到流式导入:一个 MySQL 生产数据迁移工具的开发实战
数据库·mysql·adb
BLSxiaopanlaile1 天前
关于 select count(*)的一些总结
后端·mysql
ClouGence1 天前
MySQL迁移到达梦怎么做?信创数据库低停机迁移实战
数据库·sql·mysql
万亿少女的梦1681 天前
基于Spring Boot、Vue.js与MySQL的流浪猫狗救助系统设计与实现
vue.js·spring boot·mysql·javaweb·权限管理