1、停止服务
sudo systemctl stop mysqld
2、以safe模式启动mysqld
sudo mysqld_safe --skip-grant-tables&
3、修改user表的plugin内容
mysql -u root
select user,host,plugin from mysql.user;
update user set plugin='' where user='root';
flush privileges;
exit;
4、重启mysqld服务即可
网上另一个做法,未验证
直接$ sudo mysql -u root
根本不需要停止mysql并且以安全模式登录。
然后换成mysql数据库mysql> use mysql;1mysql> update user set plugin='' where User='root';1mysql> flush privileges;1mysql> exit;1
再次查看mysql> select user,host,plugin from mysql.user;1+------------------+-----------+-----------------------+| user | host | plugin |+------------------+-----------+-----------------------+| root | localhost | |
| mysql.session | localhost | mysql_native_password || mysql.sys | localhost | mysql_native_password || debian-sys-maint | localhost | mysql_native_password || root | % | || myuser | localhost | mysql_native_password |+------------------+-----------+-----------------------+6 rows in set (0.00 sec)123456789101112