mysql远程访问无法连接问题

Zss 发表于:

我使用的centos7.4,ubantu应该都差不多

确认以下几个点:

1.若是云服务器,则云服务器中的入规则中是否包含3306端口设置

2.centos中的防火墙是否关闭,或者在防火墙中添加规则允许3306端口

使用systemctl stop firewalld   或者在防火墙中添加规则,具体百度一下了

3.设置mysql用户用于远程访问的mysql用户权限是否正确

首先用root权限进入mysql

查看用于远程访问的mysql用户host的权限  SELECT user, host from mysql.user;

%表示允许所有机器访问。若host为127.0.0.1/localhost,那么这个用户就只能本机访问,则需要将host改为%

可以使用    update user set host = ‘%’ where user = ‘root’; 来设置

4.查看mysql监听IP和端口是否正常,使用:netstat -anpt  或者  netstat -apn|grep 3306

监听得地址如果是:::3306或者是0.0.0.0:3306,表示监听所有IP地址,这监听状态是正常。若出现127.0.0.0:3306

说明监听的本地地址,需要在mysql配置文件中将bind-address选项设置为bind-address = 0.0.0.0,重启mysql

5.在远程的这个台pc上于需要设置防火墙,直接关闭或者开放3306端口

进入防火墙高级设置如图设置,最后选择TCP协议的3306端口