Mysql忘记用户密码的解决办法

时间:2023-03-09 04:10:29
Mysql忘记用户密码的解决办法

1.1 忘记用户密码的解决办法

普通用户,直接用root超级管理员登录进去修改密码就可以了,但是如果root密码丢失了,怎么办呢?

1.1.1 msyqld_saft方式找回密码

停止mysql:service mysqld stop; 
安全模式启动:mysqld_safe –skip-grant-tables & 
无密码回车键登录:mysql -uroot –p 
重置密码:use mysql; update user set password=password('') where user=’root’ and host=’localhost’; flush privileges; 
正常启动:service mysql restart 
再使用mysqladmin: mysqladmin password '123456'

1.1.2 使用普通账号来找回密码

–>(1):有一个修改test库的用户:grant create,delete,update,insert,select on d3307.* to test@’%’ identified by ‘t1’;

–>(2):复制user表文件到test库下并且赋予mysql用户访问权限: 
cp /home/data/mysql/data/mysql/user.* /home/data/mysql/data/test/;chown mysql.mysql /home/data/mysql/data/test/user.*

–>(3):mysql -utest -pt1登录修改root密码:

–>(4):将test库的user表文件覆盖 mysql库的user表文件 
cp /home/data/mysql/data/mysql/user.* /tmp/; mv /home/data/mysql/data/test/user.* /home/data/mysql/data/mysql/ ; chown mysql.mysql /home/data/mysql/data/mysql/user.*;

–>(5):查找mysql进程号,并且发送SIGHUP信号,重新加载权限表。 
pgrep -n mysql; kill -SIGHUP 12234;

–>(6):无密码登录,再使用mysqladmin重新设置密码。

PS:请参考第20课的视频,那里有详细的记录整个过修改密码的过程。