使用Navicat连接远程服务器MySQL失败:代码1130,2059

1.失败1130

1130 - Host ‘xxx.xxx.xxx.xxx’ is not allowed to connect to this MySQL server
在这里插入图片描述

a.问题分析:

某某ip不被允许连接这个MySQL服务,排除服务器防火墙没开放3306端口的情况

b.解决办法:

连接远端服务器,登录进去到MySQL,查看名为mysql的数据库中的一个名字叫user的表,一般来讲如果出现1130代码问题,大概率是MySQL登录用户的host权限是localhost或其他,把登录用户对应的host改成%即可,%意为任意ip地址
在这里插入图片描述

c.解决步骤

--登录MySQL
mysql -u root -p

--切换名为mysql的数据库
use mysql;

--查看user表的user,host字段
select user,host from user;

--如果对应的登录账号host字段值不是%,改成%
update user set host='%' where user='root';

--修改后刷新一下MySQL自己用到的表,或者退出MySQL,重启一下MySQL服务:systemctl restart mysqld
flush privileges;

问题解决到这里,不是解决了就是出现其他问题了,哈哈哈!!!

2.接着说可能会出现的其他问题:失败2059

2059 - Authentication plugin ‘caching_sha2_password’ cannot be loaded: xxxxxxxxxx

在这里插入图片描述

a.问题分析:

这个问题存在于MySQL8.0及以后的版本,MySQL8.0对密码的加密方式进行了修改,由原来的mysql_native_password方式,改成了caching_sha2_password方式,导致了支持mysql_native_password方式的Navicat无法成功连接MySQL8.0

b.问题解决:

修改MySQL数据库的密码加密方式,并使用加密方式修改覆盖原来的密码,保证相同密码加密后的一致,密码改成Navicat支持的mysql_native_password方式
在这里插入图片描述

c.解决步骤:

--连接MySQL数据库,切换数据库为mysql
use mysql;

--查看加密方式
select user,plugin from user;

--如果为caching_sha2_password,修改成mysql_native_password
update user set plugin ='mysql_native_password' where user='root';

--使用mysql_native_password加密方式重新修改一下密码,要不两种加密方式的密码会不一致,'root'@'%'这百分号指的是上面修改的那个host列的值,如果是其他的就写其他的:'root'@'xxx'
alter user 'root'@'%' identified with mysql_native_password by '满足MySQL8.0密码策略的密码';

--修改后刷新一下MySQL自己用到的表,或者退出MySQL,重启一下MySQL服务:systemctl restart mysqld
flush privileges;
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值