@echo off
echo Stopping MySQL service...
net stop MySQL
echo Starting MySQL with skip-grant-tables option...
mysqld --skip-grant-tables --shared-memory
echo Waiting for MySQL to start...
timeout /t 5
echo Resetting MySQL password...
mysql -u root -e "USE mysql; UPDATE user SET authentication_string=PASSWORD('123456') WHERE User='root'; FLUSH PRIVILEGES;"
echo Stopping MySQL service...
mysqladmin -u root -p123456 shutdown
echo Starting MySQL service...
net start MySQL
echo MySQL password reset completed!
使用管理员身份运行,执行成功后密码为123456
仅限版本5.7以前
脚本中的一些解释
1.停止 MySQL 服务,使用 net stop MySQL 命令。
2.启动 MySQL 服务,并在启动参数中添加 --skip-grant-tables 和 --shared-memory 选项,使用 mysqld --console --skip-grant-tables --shared-memory & 命令。
3.等待 MySQL 启动完成,使用 timeout /t 5 命令等待 5 秒。
4.使用 mysql 命令连接 MySQL 数据库,并执行 SQL 语句来重置 MySQL 密码。
5.使用 mysqladmin 命令关闭 MySQL 服务,以便后续重新启动,使用 mysqladmin -u root -p123456 shutdown 命令。
6.启动 MySQL 服务,使用 net start MySQL 命令。
7.完成 MySQL 密码重置。