MySQL 忘记root密码解决办法

时间:2022-02-12 16:03:05

 
很多时候mysql安装完root用户的默认密码不为空,这时候就需要通过其它办法登入到mysql重置密码。
 
 
 
步骤
 
方法1:查看/root/.mysql_secret文件
 
安装mysql第一次会生成一个随机密码,可以用该密码登入,随机的密码已经生成 可以在  '/root/.mysql_secret'. 中找到。
 
 
 
方法2:使用mysqladmin
 
mysqladmin无法修改密码
 
mysqld_safe --skip-grant-tables &
 
mysql -uroot -p
 
use mysql;
 
update user set password=PASSWORD("newpassword")where user="root";  或者   authentication_string 这个字段
 
flush privileges;
 
quit 
 
 
 
方法3:添加"skip-grant-tables"
 
在/etc/my.cnf [mysqld] 配置部分添加"skip-grant-tables"
 
重启mysql服务
 
service mysqld restart
 
登入mysql
 
mysql -uroot -p mysql
 
use mysql;
 
update user set password=password("password") where user='root';
 
更新
 
flush privileges;
 
删除/etc/my.cnf [mysqld] 配置部分的"skip-grant-tables"
 
重启mysql服务
 
service mysqld restart
 
使用新密码登入
 
mysql -uroot -p
 
 
 
修改完密码第一次登入可能会报错‘ERROR 1820 (HY000): You must SET PASSWORD before executing this statement ’,需要重新修改当前登入密码。
 
 
 
修改当前用户密码
 
SET PASSWORD = PASSWORD('123456')