关于Navicat无法连接到阿里云服务器上的MySQL数据库的问题
自己再阿里云上配置了LNAMP环境,通过IP可以成功访问,数据库也没有问题,但是通过Navicat连接到阿里云服务器数据库报错,显示连接失败。下面是我的解决办法:
1.确保已经开启MySQL服务。
2.确认授权通过其他的IP地址访问MySQL数据库,方法如下:
use mysql;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;
FLUSH PRIVILEGES;
其中‘%’表示允许所有IP访问数据库。FLUSH PRIVILEGES表示重新加载权限表。
3. 设置Linux开放3306端口
查看3306端口开放情况
netstat -an | grep 3306
如上图表示已经在所有IP地址上监听3306端口,如果不是上图情况,则修改mysql配置文件
vim/etc/mysql/my.cnf //打开配置文件
#Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = (服务器本地ip地址)
把最后一行注释掉或者把(服务器本地ip地址)换成你希望的IP
重启服务生效。
4.设置Linux防火墙开放3306端口
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT #允许3306数据库端口通过防火墙
重启防火墙。
5.检查阿里云安全组是否开放3306端口
创建安全组,然后再安全组中添加规则,官方文档:
https://helpcdn.aliyun.com/document_detail/25471.html?spm=5176.doc25468.2.4.RfJyPU
完成这几步操作基本解决问题。