ubuntu 16.04 下重置 MySQL 5.7.20 的密码

       ubuntu 16.04 下重置 MySQL 5.7.20 的密码

安装mysql后,如果不小心将root密码忘记怎么办?

不要担心,mysql可以不用密码登录。需要知道系统密码。

编辑mysql的配置文件,在[mysqld]段下加入一行“skip-grant-tables”。注:centos和ubuntu配置文件路径不同

vim /etc/mysql/mysql.conf.d/mysqld.conf

ubuntu 16.04 下重置 MySQL 5.7.20 的密码
在[mysqld]段下加入一行“skip-grant-tables”
ubuntu 16.04 下重置 MySQL 5.7.20 的密码
mysql服务重新启动

sudo service mysql restart

不过我的电脑这样就卡死啦,所以我先kill掉mysqld

然后在重新开启服务。ubuntu 16.04 下重置 MySQL 5.7.20 的密码
我的pid是12815,所以
kill 12815
ubuntu 16.04 下重置 MySQL 5.7.20 的密码
然后在看一下,是否杀掉mysql

ps -ef|grep mysqld

ubuntu 16.04 下重置 MySQL 5.7.20 的密码
mysql进程已经杀死

现在重新开启服务。
ubuntu 16.04 下重置 MySQL 5.7.20 的密码
输入mysql即可进入数据库。

ubuntu 16.04 下重置 MySQL 5.7.20 的密码
输入use mysqlubuntu 16.04 下重置 MySQL 5.7.20 的密码
执行命令:

update mysql.user set authentication_string=password('123') where user='root' and Host ='localhost';

变更密码为:123
ubuntu 16.04 下重置 MySQL 5.7.20 的密码
更新用户

update user set plugin="mysql_native_password";
flush privileges;
exit;

ubuntu 16.04 下重置 MySQL 5.7.20 的密码

vim /etc/mysql/mysql.conf.d/mysqld.cnf

重新登录mysql
ubuntu 16.04 下重置 MySQL 5.7.20 的密码
大功告成!!!
另:所有的代码都是为了方便我们的工作,从繁琐复杂的循环中,变得轻松简单,有些时候觉得程序员是一个伟大的工作,是帮助的人类生活变得方便但是,如果我们只是把自己的技术知识只是放在自己的小范围内,自己的大脑中,自己的心中,自己的朋友中,其意义何在呢!,希望大家也可以花一点时间写出你的技术,写出你工作的意义,写出一个程序员的精彩。【welcome here :**** communication center qq群:678470500】