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]