jlsblog

mysql8.0无法远程连接

本篇内容抄自https://blog.csdn.net/qq_32448349/article/details/82428696,在这里做一下记录

报错信息:

1.首先查看防火墙状态

防火墙版本的不同命令也会有不同

0.4的命令为

systemctl status firewall.service 

0.5的命令为

systemctl status firewalld

防火墙没有运行

2.命令登入服务器mysql

3.执行下面语句添加权限

use mysql;

select host, user, authentication_string, plugin from user;

查看user表的root用户Host字段是localhost,说明root用户只能本地登录,现在把他改成远程登录

update user set host=\'%\' where user=\'root\';

4.刷新权限

所有操作后,应执行

FLUSH PRIVILEGES;

我到这里问题就已经解决了

执行后继续连接发现还是报错

 

查找问题后发现

MySQL8.0之前的版本密码加密规则:mysql_native_password,

MySQL8.0密码加密规则:caching_sha2_password

不一样

5.修改mysql加密规则

 

输入命令


 ALTER USER \'root\'@\'localhost\' IDENTIFIED BY \'password\' PASSWORD EXPIRE NEVER;

 ALTER USER \'root\'@\'localhost\' IDENTIFIED WITH mysql_native_password BY \'password\';
 

加密规则改了也同样设置密码

 ALTER USER \'root\'@\'%\' IDENTIFIED WITH mysql_native_password BY \'新的密码\';

再试

分类:

技术点:

相关文章:

  • 2021-04-28
  • 2022-12-23
  • 2021-11-13
  • 2021-10-27
  • 2021-12-20
  • 2021-11-23
  • 2021-12-01
  • 2021-06-10
猜你喜欢
  • 2022-01-09
  • 2023-01-19
  • 2021-12-06
  • 2022-01-18
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案