centos7为MySQL开启3306端口,解决navicat 10038报错,解决防火墙开放端口问题

1. 全过程如下:

[root@localhost ~]# netstat -ntlp  // 检查端口是否在用
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      10066/nginx: master 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      9019/sshd           
tcp6       0      0 :::3306                 :::*                    LISTEN      9849/mysqld         
tcp6       0      0 :::22                   :::*                    LISTEN      9019/sshd           
[root@localhost ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent // 发现防火墙未运行,3306开启失败
FirewallD is not running
[root@localhost ~]# firewall-cmd --reload
FirewallD is not running
[root@localhost ~]# systemctl status firewalld // 查看防火墙是否在运行,但是防火墙dead了
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)
[root@localhost ~]# systemctl start firewalld // 开启防火墙
[root@localhost ~]# firewall-cmd --permanent --zone=public --add-port=3306/tcp // 开启3306端口
success
[root@localhost ~]# firewall-cmd --reload // 重启防火墙
success

然后success以后,再次连接navicat已可连接成功。

--

这是在用Navicat连接MySQL遇到10038错误的时候,发现3306端口未开放。

另外,如果使用的是阿里云,需要在阿里云控制台开启3306端口的策略。

-

2. 开启centos7的防火墙(并开机自启):

[root@www ~]# systemctl list-unit-files |grep fire // 查看状态
firewalld.service                             disabled
[root@www ~]# systemctl enable firewalld.service  // 设置自启
Created symlink from /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service to /usr/lib/systemd/system/firewalld.service.
Created symlink from /etc/systemd/system/basic.target.wants/firewalld.service to /usr/lib/systemd/system/firewalld.service.
[root@www ~]# systemctl list-unit-files |grep fire // 查看防火墙状态,已经开启了
firewalld.service                             enabled 
[root@www ~]# reboot // 重启centos

3. 如果出现打开了3306,navicat可以访问,但是nginx无法访问(浏览器页面显示超时),那是因为80等端口未开启造成的。

我在此手动开启80等常用端口:

centos7为MySQL开启3306端口,解决navicat 10038报错,解决防火墙开放端口问题_第1张图片

代表开放80端口。具体如下:



  Public
  For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.
  
  
  
  
  
  
  
  

reboot主机,再次打开页面和navicat,发现都能正常使用。

centos7为MySQL开启3306端口,解决navicat 10038报错,解决防火墙开放端口问题_第2张图片

-

你可能感兴趣的:(服务器/运维)