云服务器ECS Linux MySQL无法远程连接有什么解决办法?

云服务器ECS Linux MySQL无法远程连接有什么解决办法?在使用自建 MySQL 数据库的时候,偶尔会遇到无法连接 MySQL 服务器的情况,以下列举一些常见问题及解决办法:

解决方案
查看 MySQL 监听的地址就是 0.0.0.0 。这种情况请先检查两个地方

1、服务器是否开启了防火墙,请先关闭防火墙测试

2、MySQL 是否没有打开远程登录

打开远程登陆有两种方法。

(1 )该表:在本机登入 MySQL 后,更改 mysql 数据库里的 user 表里的 host 项,从 localhost 改为 '%'。

(2 )授权法:为 MySQL 创建一个 远程连接的用户

一般这样配置就没有问题了。

(本文整理自阿里云官方如想查询详情请前往阿里云官方)

端口监听不对导致无法连接 MySQL
MySQL 监听在 127.0.0.1 上导致外部无法连接。
修改 MySQL 配置文件里面的 bind-address,重启即可。

MySQL 远程连接报错:Lost connection to MySQL server at 'reading initial communication packet'

解决方案
1、检查是否有防火墙限制
2、检查 MySQL 是否有访问权限
3、检查 my.ini 文件里是否设置了 bind-address 参数,如果有将该条注释掉即可。
4、在 my.ini 中添加 skip-name-resolve
5、修改 hosts.allow

由于服务器端的密码管理协议陈旧,使用的是旧有的用户密码格式存储;但是客户端升级之后采用了新的密码格式 。mysql5.6版本遇到这种不一致的情况就会拒绝连接 。

解决方案
连接时增加 --secure-auth 参数,连接命令如下:
mysql -h host -u username --secure-auth -p

标签