涛声依旧在 发表于 2025-3-12 23:26:25

MySQL忘掉暗码的几种解决办法

假如你忘记了MySQL数据库的root用户暗码,以下是几种差别的方法:
方法1:利用MySQL的--skip-grant-tables选项


[*] 克制MySQL服务:
sudo systemctl stop mysql




[*] 以安全模式启动MySQL服务:
sudo mysqld_safe --skip-grant-tables &
amp;

[*] 登录MySQL:
mysql -u root
mysql


[*] 重置暗码:
UPDATE user SET authentication_string=PASSWORD('new_password') WHERE User='root';

FLUSH PRIVILEGES;
exit


[*] 重启MySQL服务:
sudo systemctl start mysql




方法2:利用MySQL的--skip-networking选项

这种方法涉及克制MySQL服务,然后以倒霉用网络毗连的方式启动MySQL服务,从而允许你登录并重置暗码:

[*] 克制MySQL服务:
sudo systemctl stop mysql




[*] 以倒霉用网络毗连的方式启动MySQL服务:
sudo mysqld_safe --skip-networking &

[*] 登录MySQL:
mysql -u root
mysql


[*] 重置暗码:
UPDATE user SET authentication_string=PASSWORD('new_password') WHERE User='root';

FLUSH PRIVILEGES;
exit


[*] 重启MySQL服务:
sudo systemctl start mysql




方法3:利用MySQL的--init-file选项

这种方法涉及创建一个包含重置暗码下令的文件,并在启动MySQL服务时利用--init-file选项来执行该文件:

[*] 创建一个包含重置暗码下令的文件:
echo "UPDATE user SET authentication_string=PASSWORD('new_password') WHERE User='root';
FLUSH PRIVILEGES;" > /tmp/init.sql

[*] 克制MySQL服务:
sudo systemctl stop mysql




[*] 以安全模式启动MySQL服务,并利用--init-file选项:
sudo mysqld_safe --init-file=/tmp/init.sql &

[*] 等候MySQL服务启动并执行重置暗码下令。
[*] 重启MySQL服务:
sudo systemctl start mysql




方法4:利用MySQL的 --skip-grant-tables选项

1. 克制MySQL服务

首先,你必要克制正在运行的MySQL服务。在Linux体系中,你可以利用以下下令:
sudo systemctl stop mysql



大概,假如你利用的是较旧的体系,可能必要利用:
sudo service mysql stop
2. 以安全模式启动MySQL

接下来,以安全模式启动MySQL服务,这样你就可以不必要暗码就能登录。在启动时添加--skip-grant-tables参数:
sudo mysqld_safe --skip-grant-tables &
amp;
3. 登录MySQL

现在,你可以登录到MySQL服务器,不必要暗码:
mysql -u root
4. 重置暗码

登录后,你必要重置root用户的暗码。首先,选择MySQL数据库:
USE mysql;
然后,更新root用户的暗码。请将new_password替换为你想要设置的新暗码:
UPDATE user SET authentication_string=PASSWORD('new_password') WHERE User='root';
假如你利用的是MySQL 5.7.6及以上版本,可能必要利用以下下令:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
5. 重启MySQL服务

完成暗码重置后,退出MySQL客户端:
exit
然后,重启MySQL服务:
sudo systemctl start mysql



6. 登录验证

现在,你应该可以利用新设置的暗码登录MySQL了:
mysql -u root
-p 输入新暗码,你应该可以或许成功登录。
留意事项



[*]在执行上述操作时,请确保你有足够的权限来克制和启动MySQL服务。
[*]在重置暗码之前,建议备份你的数据库,以防万一。
[*]假如你利用的是MySQL 5.7.6及以上版本,可能必要利用ALTER USER下令来重置暗码。
[*]假如你利用的是MariaDB(MySQL的一个分支),步骤可能略有差别。
假如你在重置暗码的过程中碰到任何标题,建议查阅MySQL的官方文档或寻求专业的技术支持。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: MySQL忘掉暗码的几种解决办法