以下是重置 Windows 环境下 MySQL root 密码的方法:
能使用 Navicat 等工具链接到当前数据库,且有权限
直接执行以下命令,更新密码并刷新权限,PASSWORD
后面的字符串是新密码。
UPDATE mysql.user
SET authentication_string = PASSWORD('root123'), password_expired = 'N'
WHERE User = 'root' AND Host = 'localhost';
FLUSH PRIVILEGES;
无法链接数据库,或能链数据库但没权限的
- 增加重置密码的配置文件:
新建记事本,放入以下命令ALTER USER 'root'@'localhost' IDENTIFIED BY 'root123';
随便保存一个文件名,比如
reset_pwd.txt
,放到一个容易找的位置,比如 D 盘根目录,此时它的路径是D:\\reset_pwd.txt
IDENTIFIED BY
后面的字符串将被用作新密码 - 进入服务管理器,停用 MySQL 服务:
按Win + R
,输入services.msc
并回车,打开服务窗口,找到 MySQL 服务,右击,【属性】,点【停止 (T)】 - 配置启动参数,启动服务重置密码:
点完上一步的【停止 (T)】,下面的【启动参数 (M)】处于可编辑状态,输入启动参数--init-file=D:\\reset_pwd.txt
,点【启动 (S)】,服务启动后密码就重置成功了。 - 请使用新密码,记得删除本地的 reset_pwd.txt 文件。
来源:https://dev.mysql.com/doc/mysql-windows-excerpt/5.7/en/resetting-permissions-windows.html