加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql密码忘却了怎么修复

发布时间:2023-07-22 15:22:11 所属栏目:MySql教程 来源:
导读:这篇文章主要讲解了“mysql密码忘记了怎么修复”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql密码忘记了怎么修复”吧!

首先,我
这篇文章主要讲解了“mysql密码忘记了怎么修复”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql密码忘记了怎么修复”吧!
 
首先,我们需要了解一下MySQL密码存储的方式。MySQL将密码存储为加密后的散列字符串,这个过程是通过使用SHA1()加密函数和一个叫做Salt的随机字符串来完成的。由于这个加密过程是不可逆的,所以我们必须采取一些特定的措施才能够恢复MySQL密码。
 
方法一:使用root用户修改密码
 
如果您具有root权限,可以使用以下步骤来修改密码:
 
1.以root身份登录MySQL服务器
 
mysql -u root -p
 
2.输入root用户密码
 
3.进入MySQL命令行
 
4.进入mysql命令行后,使用以下命令来修改root用户密码:
 
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');
 
请将“new_password”替换为您要设置的新密码,并确保在MySQL命令行的末尾添加分号;
 
5.退出MySQL,使用新密码重新登录
 
在使用MySQL时,root用户具有最高的权限,因此如果您知道root用户的密码,那么修改MySQL的密码就变得非常简单了。
 
方法二:重置MySQL密码
 
如果您无法通过root用户来修改密码,或者根本不知道root密码,那么重置MySQL密码可能是您的最佳选择。以下是两种常用的重置MySQL密码的方法:
 
方法1:使用skip-grant-tables重置MySQL密码
 
这种方法将跳过MySQL的用户认证过程,并允许您无需提供密码就可以登录MySQL。以下是具体步骤:
 
1.停止MySQL服务
 
sudo systemctl stop mysql
 
2.执行以下命令以跳过MySQL的用户认证过程:
 
sudo mysqld_safe --skip-grant-tables &
 
3.以root身份登录MySQL服务器
 
mysql -u root
 
4.在进入MySQL命令行后,使用以下命令来修改密码:
 
mysql> UPDATE mysql.user SET Password=PASSWORD('new_password') WHERE User='root';
 
请将“new_password”替换为您要设置的新密码,并确保在MySQL命令行的末尾添加分号;
 
5.刷新mysql.user表
 
mysql> FLUSH PRIVILEGES;
 
6.退出MySQL,并重新启动MySQL
 
sudo systemctl start mysql
 
7.使用新密码重新登录MySQL
 
方法2:使用重置脚本重置MySQL密码
 
这种方法需要您以root身份运行脚本,并且需要知道MySQL的数据文件所在位置。以下是具体步骤:
 
1.停止MySQL服务
 
sudo systemctl stop mysql
 
2.找到MySQL的数据文件
 
MySQL默认将数据文件存储在/var/lib/mysql目录下。执行以下命令可以找到数据文件的确切位置:
 
sudo find / -name "*.frm"
 
3.创建重置脚本
 
请使用以下命令将以下代码保存到resetmysql.sh文件中:
 
#!/bin/bash
 
/usr/sbin/mysqld --skip-grant-tables --skip-networking  &
 
sleep 5s
 
mysql -u root <<EOF
 
UPDATE mysql.user SET Password=PASSWORD('new_password') WHERE User='root';
 
FLUSH PRIVILEGES;
 
EOF
 
killall mysqld
 
sleep 5s
 
/usr/sbin/mysqld --skip-networking &
 
请将“new_password”替换为您要设置的新密码。
 
4.运行脚本重置MySQL密码
 
使用以下命令以root权限运行重置脚本:
 
sudo bash resetmysql.sh
 
5.启动MySQL
 
sudo systemctl start mysql
 
6.用新密码重新登录MySQL
 
到这里,读者应该已经知道以下两种解决MySQL密码忘记的方法了:使用root用户修改密码,使用重置MySQL密码脚本重置密码。
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章