剑客
关注科技互联网

在Linux环境下mysql的root密码忘记解决方法

mysql版本不同,修改密码的方法大同小异,但是有一定的区别:

mysql5.1

1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。

2.修改MySQL的登录设置

vi /etc/my.cnf

在[mysqld]的段中加上一句:skip-grant-tables 保存并且退出

3.重新启动

mysqld service mysqld restart

4.登录并修改MySQL的root密码

mysql> USE mysql ;
mysql> UPDATE user SET Password = password ( 'new-password' ) WHERE User = 'root' ;
mysql> flush privileges ;
mysql> quit

5.将MySQL的登录设置修改回来

vi /etc/my.cnf

将刚才在[mysqld]的段中加上的skip-grant-tables删除

6.重新启动mysqld

/etc/init.d/mysqld restart ( service mysqld restart )

mysql5.7

1.停掉数据库

service mysql stop

2.运行

mysqld_safe --skip-grant-tables &

3.登陆数据库

mysql -p

4.更改密码

mysql> updatemysql.usersetauthentication_string=password('123qwe') 
whereuser='root'andHost = 'localhost';

不过这里要提示一下:新版本的数据库下的user表里面已经没有password了,而是将加密后的用户密码存储在authentication_string字段下面

flush privileges;

quit

5.重启下mysql

service mysql restart

但此时操作似乎功能不完全,还要alter user…

mysql> alter user [email protected]

‘ identified by ‘123456’

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址