1、关闭服务
kill `pgrep mysqld`
2、以忽略授权表的方式启动服务
/usr/local/mysql/bin/mysqld_safe --user=mysql --skip-grant-table &
mysqld_safe --user=mysql --skip-grant-table &
注:--skip-grant:跳过权限表
3、以root用户登录并修改密码
/usr/local/mysql/bin/mysql
mysql
select host,user,password from mysql.user; # 查询用户和密码,mysql.user存放用户和密码的表
update mysql.user set password=password('456') where host='localhost' && user='root';
4、重启服务
/usr/local/mysql/bin/mysqld_safe --user=mysql &
mysqld_safe --user=mysql &
修改密码
1、使用mysqladmin命令
mysqladmin -u root -p123 password '456'
2、使用set password命令
set password for 'root'@'localhost'=password('1');
3、使用update直接编辑user表
update mysql.user set password=password('2') where user='root' and host='localhost';
4、使用alter user修改
alter user root@'localhost' identified by 'test1234';
假如已经修改mysql下的user表root账号下的host为%时,需要用下面的语句
alter user root@'%' identified by 'test1234';
flush privileges;
本文详细介绍如何在忘记密码的情况下重置MySQL数据库的root用户密码,包括关闭服务、以忽略授权表方式启动、修改密码及重启服务的步骤。同时,提供了多种修改密码的方法,如使用mysqladmin命令、setpassword命令、直接编辑user表和使用alter user修改。
3742

被折叠的 条评论
为什么被折叠?



