远程账号
需要添加一个用于远程访问的账户,此账号可以是root本身,密码可以是不同于本地的密码。
大致检查步骤
- 登录到服务器,进入mysql
- 输入命令查看是否有 % host 记录 且 user 是 root
- 命令:
use mysql;
select host,user from user;
- 如果没有则需要添加相关记录,之前一篇文章里面有提到过,链接如下
- 拉到下面,远程访问 那里.
实例安全组
腾讯云或者阿里云服务器的实例里面,找到安全组,里面的进出规则,
需要添加对应端口3306(下图是阿里云控制台)
防火墙(多数情况)
大多数情况来自于防火墙。
首先看下防火墙(如下图)
- 我的服务器防火墙是firewall 可以看到服务已经禁用了
- 查看状态 ,关闭防火墙 ,关闭服务
systemctl status firewalld.service
systemctl stop firewalld.service
systemctl mask firewalld
这样可能还没有完。比如iptables
关闭服务或者添加规则
service iptables stop
查看iptables状态,如下图
编辑如下文件修改或添加规则
vi /etc/sysconfig/iptables
重启一下iptables
service iptables restart
在这里有点意外,关闭了iptables服务,数据库还是不能远程访问。但是在添加了如上3306的端口规则后,关闭iptables又可以远程访问了。