编辑mysql的配置文件/etc/mysql/my.cnf,在[mysqld]段下加入一行“skip-grant-tables”。
重启mysql服务
yxj @yxj:~$ sudo service mysql restart
用空密码进入mysql管理命令行,切换到mysql库。
yxj @yxj:~$ mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
mysql> use mysql
Database changed
执行update mysql.user set authentication_string=password('123qwe') where user='root' and Host ='localhost';把密码重置为123456。退出数据库管理。
mysql> update mysql.user set authentication_string=password('123qwe') where user='root' and Host ='localhost';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 4 Changed: 0 Warnings: 0
mysql>updateusersetplugin="mysql_native_password";mysql>flush privileges;mysql>quit;
回到sudo gedit /etc/mysql/mysql.conf.d/mysqld.cnf,把刚才加入的那一行“skip-grant-tables”注释或删除掉。
再次重启mysql服务sudo service mysql restart,使用新的密码登陆,修改成功。
yxj @yxj:~$ mysql -uroot -pnew_pass
Welcome to the MySQL monitor. Commands end with ; or \g.
mysql>
mysql>mysql-u root-p 再次登录