Mysql用户root密码找回

1、本试例的环境如下:

2、mysql数据库的版本如下,此数据库运行多实例:

mysql  Ver 15.1 Distrib 10.2.24-MariaDB, for Linux (x86_64) using readline 5.1

 

3、mysql数据用户root的密码忘记了,需要找回。方法如下:

  1)首先停止正在运行的mysql

  2)使用“--skip-grant-tables”启动mysql,忽略授权登录验证

mysqld_safe --defaults-file=/mysql/3306/my.cnf --skip-grant-tables --user=mysql 2>&1 >/dev/null &

  

  3)直接无密码无帐号登录mysql

mysql -S /mysql/3306/mysql.sock 

  

  4)使用UPDATE直接修改密码,然后直接刷新下。

UPDATE mysql.user SET password=PASSWORD("oldboy123") WHERE user='root' and host='localhost';
flush privileges

 

如果在mysql5.7的版本中,会出现如现错误 

ERROR 1054 (42S22): Unknown column 'password' in 'field list'

 

 

 错误的原因是 5.7版本下的mysql数据库下已经没有password这个字段了,password字段改成了authentication_string

 执行如下命令:

UPDATE mysql.user SET authentication_string=PASSWORD("root")WHERE user='root' and host='localhost'; 

 

 

4、验证root密码是否更改成功

 

由上图所示,root密码更改成功。

 5、然后重启mysql

posted @ 2019-06-19 14:46  启云  阅读(1824)  评论(0编辑  收藏  举报