找回root密码--Mysql5.7.17

系统环境:

[root@db02 ~]# uname -m
x86_64
[root@db02 ~]# uname -r
2.6.32-696.el6.x86_64
[root@db02 ~]# cat /etc/redhat-release 
CentOS release 6.9 (Final)

5.6和5.7有点不一样,在5.6中列名为password,但5.7为authentication_string

操作过程:

1、修改/etc/my.cnf 在[mysqld]下面一行加入skip-grant-tables

[root@db02 ~]# vim /etc/my.cnf
[mysqld]
skip-grant-tables
……………………

2、启动mysql

/etc/init.d/mysqld-5.7.17 start

3、无密进入数据库,修改密码

mysql> use mysql;
mysql> update user set authentication_string=PASSWORD('123yk') where user='root' and host='localhost';
mysql> flush privileges;

4、再次修改/etc/my.cnf,去掉刚才添加的skip-grant-tables

[root@db02 ~]# vim /etc/my.cnf
[mysqld]
# skip-grant-tables

5、重启mysql

/etc/init.d/mysqld-5.7.17 restart

6、使用新修改的密码登录

/application/mysql-5.7.17/bin/mysql -uroot -p

注:用户根据自身的系统环境和自身的情况进行修改和设置密码,此博文仅供从参考

猜你喜欢

转载自my.oschina.net/u/3285916/blog/1790148