- 修改root对应的host为%
use mysql;
update user set host='%' where user='root';
flush privileges;
- 修改远程验证方式
alter user 'root'@'%' identified with mysql_native_password by 'root';
修改完成后,再次登录的时候会出现该问题
重置密码即可
- 打开MySQL配置文件 vi /etc/mysql/my.cnf,添加如下代码,然后重启服务service mysql restart
[mysqld]
skip-grant-tables
- 再次登录mysql -u root -p
此时不会验证密码 - 将密码置空
update mysql.user set authentication_string='' where user='root';
- 退出后,将原来的在my.cnf中添加的字段注释,重新登入mysql -uroot -p
- 修改密码(如果其他情况下忘记密码,需要将%修改成对应的Host)
alter user 'root'@'%' identified by '123456';
flush privileges;