linux下mysql5.7忘记root密码修改

朋友最近开始学服务器,mysql密码忘了又不会弄,让我帮忙解决一下。重置或修改mysql的root密码这种事平时很少做,还是得google辅助一下,于是弄完了写篇博客记录一下,方便若干月后又有人遇到这种问题到时候忘得差不多还有google一下。

在root用户密码重置上,mysql5.7和5.6的区别在于user表中的字段不同,在之前的版本中,密码字段的字段名是 password,5.7版本改为了 authentication_string

流程如下:

1.关闭mysql服务

service mysql stop

 或者直接杀死mysql相关进程

killall -TERM mysqld 

2. 用以下命令启动MySQL,以不检查权限的方式启动; 
  

mysqld_safe --skip-grant-tables & 
(需要先进入mysql的bin目录,通常为cd /usr/local/mysql/bin )

  

3. 然后用空密码方式使用root用户登录 MySQL; 
  

扫描二维码关注公众号,回复: 109867 查看本文章
mysql -u root

 
4. 修改root用户的密码; 

 MySQL>update user set authentication_string = password('root'), password_expired = 'N', password_last_changed = now() where User = 'root';

 MySQL> flush privileges;  
 MySQL> quit 

 (语句记得区分大小写,在之前的版本中,密码字段的字段名是 password,5.7版本改为了 authentication_string)

重新启动MySQL,就可以使用新密码登录了。

猜你喜欢

转载自www.cnblogs.com/wangyaqiblog/p/8990641.html