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 '新的密码';

再试

posted on   jianglusheng  阅读(3213)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示