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
如果有错误,欢迎各位网友指导。
另外喜欢的话,给个推荐呗,谢谢!