mysql服务器3306端口不能远程连接问题

xiaoxiao2025-10-13  4

一,网络监测

平主机可以;

telnet主机3306端口不可以;

telnet主机22端口可以;

说明与本机网络没有关系;

 

二,端口检测

netstat -ntpl | grep 3306

tcp 0 0 ::: 3306 ::: * LISTEN -

netstat -ntpl | grep 22

tcp 0 0 0.0.0.0:22 0.0.0.0:*听听 -

可以看出22端口监听所有地址,而3306只监听本机地址(绑定了到了本地),所以远程无法访问。

对于端口只允许本机访问,有两个地方启用,一个是防火墙启用3306,一个就是MySQL的配置绑定本机地址。

 

三,防火墙检测

iptables --list查看;

开启防火墙3306端口

vi / etc / sysconfig / iptables

-A INPUT -m state -state NEW -m tcp -p tcp -dport 3306 -j ACCEPT(允许3306端口通过防火墙)

/etc/init.d/iptables restart(重启防火墙使配置生效)

或者直接关闭防火墙;

 

四,MySQL的配置文件检查

检查的my.cnf的配置,绑定地址=地址可以配置绑定IP地址。

不配置或者IP配置为0.0.0.0,表示监听所有客户端连接。

#ps -aux | grep mysql查看进程ID是3340

#ll / proc / 3340查看进程程序情况,找配置文件或者#which mysql找程序路径

 

五,MySQL的用户访问权限

进入MySQL的数据库

$ mysql -u root -p

>使用mysql;

>从用户中选择主机,用户;

MySQL的建用户的时候会指定一个主机,默认是127.0.0.1/localhost只能本机访问;

其它机器用这个用户帐号访问会提示没有权限,主机改为%,表示允许所有机器访问。

转载请注明原文地址: https://www.6miu.com/read-5037867.html

最新回复(0)