当前位置:首页 > 编程技术 > 正文内容

忘记MySQL密码?别慌,手把手教你如何安全地重置密码

yc8888个月前 (03-31)编程技术115

方法一:使用MySQL命令行工具(适用于所有环境)

步骤1:停止MySQL服务

  • 忘记MySQL密码?别慌,手把手教你如何安全地重置密码

    Windows: 打开命令提示符,执行 net stop mysql 停止MySQL服务。

  • Linux: 在终端中输入 sudo service mysql stop 或者对于新版的MySQL(即MariaDB),可能是 sudo systemctl stop mysql.service

步骤2:跳过权限表启动MySQL服务

重新启动MySQL服务并忽略权限表检查,以便我们可以无需密码登录:

  • Windows: 使用命令 mysqld --skip-grant-tables 在命令行中启动MySQL服务。

  • Linux: 在终端中输入 sudo mysqld_safe --skip-grant-tables & 启动MySQL服务。

步骤3:修改root密码

打开一个新的命令行窗口(或终端),直接进入MySQL命令行模式:

mysql -u root

现在,你已经可以无需密码直接登录MySQL。接下来,我们更新root用户的密码:

USE mysql;
UPDATE user SET Password=PASSWORD('你的新密码') WHERE User='root';
FLUSH PRIVILEGES;

请将 '你的新密码' 替换为你想要设置的新密码。然后退出MySQL客户端。

步骤4:重启MySQL服务

再次停止跳过权限表的MySQL服务,然后正常启动MySQL服务,使更改生效:

  • Windows: 先关闭跳过权限表的MySQL服务,再执行 net start mysql 正常启动。

  • Linux: 先执行 sudo pkill mysqld 关闭服务,然后用 sudo service mysql start 或 sudo systemctl start mysql.service 正常启动。

方法二:利用MySQL的忘记密码插件(5.7及以上版本)

如果你的MySQL版本为5.7及以上,MySQL内置了一个名为mysql_native_password的忘记密码插件,可以在不关闭MySQL服务的情况下重置密码。

步骤1:创建一个新的临时用户

在命令行中执行以下命令,创建一个具有足够权限的临时用户(这里以tempuser为例):

ALTER USER 'root'@'localhost' IDENTIFIED BY 'temporary_password';

然后用这个临时用户登录MySQL。

步骤2:重置root密码

登录成功后,执行如下命令重置root用户的密码:

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('你的新密码');

步骤3:删除临时用户或修改其权限

为了安全起见,你可以选择删除临时用户,或者降低其权限:

DROP USER 'tempuser'@'localhost';

至此,你已成功重置MySQL的root密码。请记住,良好的密码管理和定期更换密码习惯能有效避免此类问题的发生。同时,建议在生产环境中,尽量遵循最小权限原则,分配合适的用户权限。

本站发布的内容若侵犯到您的权益,请邮件联系站长删除,我们将及时处理!


从您进入本站开始,已表示您已同意接受本站【免责声明】中的一切条款!


本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行研究。


本站资源仅供学习和交流使用,版权归原作者所有,请勿商业运营、违法使用和传播!请在下载后24小时之内自觉删除。


若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,使用者自行承担,概与本站无关。


本文链接:https://www.10zhan.com/biancheng/11157.html

分享给朋友:

“忘记MySQL密码?别慌,手把手教你如何安全地重置密码” 的相关文章