如果你忘记了MySQL的密码,可以通过以下步骤安全地重置密码。以下方法适用于Window系统.

步骤1:停止MySQL服务

首先,登录到你的Window系统,然后停止MySQL服务。

1
net stop mysql

步骤2:以安全模式启动MySQL

接下来,以安全模式启动MySQL,跳过权限验证。

1
mysqld --console --skip-grant-tables --shared-memory 

步骤3:登录MySQL

现在,以root用户身份登录MySQL:

1
mysql -u root

步骤4:选择mysql数据库

切换到mysql数据库,因为权限信息存储在这里。

1
USE mysql;

步骤5:更新密码

根据你的MySQL版本,使用相应的命令更新密码。

对于MySQL 8.0及以上版本:

1
2
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

对于MySQL 5.7及以下版本:

1
UPDATE user SET password = PASSWORD('123456') WHERE User = 'root';

将新密码替换为你想要设置的新密码。

步骤6:刷新权限

执行以下命令刷新权限,使更改生效。

1
FLUSH PRIVILEGES;

步骤7:退出MySQL

退出MySQL shell:

1
exit;

步骤8:停止安全模式并重启MySQL

停止以安全模式运行的MySQL实例:

1
sudo mysqladmin -u root shutdown

然后,正常启动MySQL服务:

1
sudo systemctl start mysql

或者:

1
sudo service mysql start

步骤9:测试新密码

使用新密码登录MySQL,确认密码是否正确。

1
mysql -u root -p

输入新密码,如果成功登录,说明密码已成功更改。

注意事项

  • 确保你有root权限,否则无法执行上述命令。
  • 如果你使用的是Windows,步骤可能会有所不同,通常需要通过修改配置文件来启动MySQL。
  • 在执行mysqladmin shutdown时,确保你已经退出MySQL shell,否则可能会导致错误。

通过以上步骤,你可以安全地重置MySQL密码,确保数据库的安全性和可用性。