https://www.cnblogs.com/chen-lhx/p/8411338.html
https://blog.csdn.net/weixin_43670802/article/details/103203408
查看所有打开的端口: firewall-cmd --zone=public --list-ports
移除指定端口:
firewall-cmd --zone=public --remove-port=80/tcp --permanent
centos防火墙开启端口号:有命令行开启和修改配置文件两种方式,下文为两种方式介绍,本人更倾向命令行开启端口,如下:
第一步 开启:firewall-cmd --permanent --zone=public --add-port=3306/tcp
第二部 重启:systemctl restart firewalld
第三部 验证:此处使用telnet:
[root@localhost ~]# telnet 192.168.137.129 3306 Trying 192.168.137.129... Connected to 192.168.137.129. Escape character is '^]'. J 8.0.17 8Cv{8ÿZUE.V+)=mysql_native_password
最近在阿里云服务器centos上安装了mysql数据库,默认是不开启远端访问功能,需要设置一下防火墙,在开放默认端口号 3306时提示FirewallD is not running,经过排查发现是防火墙就没打开造成的,出于安装考虑还是把防火墙开上吧,以下步骤仅供参考啦。
-
执行firewall-cmd --permanent --zone=public --add-port=3306/tcp,提示FirewallD is not running,如下图所示。
=======================================================================================
1、登录Mysql后,查看当前端口
mysql> show global variables like 'port';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| port | 3306 |
+---------------+-------+
1 row in set (0.00 sec)
1
2
3
4
5
6
7
8
2. 修改端口,
编辑 /etc/my.cnf文件。
新增 port=3301 参数,如下:
[root@test etc]# vi /etc/my.cnf
[mysqld]
port=3301
...
....
1
2
3
4
5
如果文件中有bind-address = 127.0.0.1则需要注掉,不然mysql只能被远端机自身访问。
3. 重新启动mysql
[root@test ~]# service mysql restart
Stopping mysqld: [ OK ]
Starting mysqld: [ OK ]
1
2
3
4
4.再次登录后检查端口已修改为’3301’.
mysql> show global variables like 'port';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| port | 3301 |
+---------------+-------+
1 row in set (0.00 sec)
1
2
3
4
5
6
7
8
如果如此还无法远程管理的话,则有可能是一下两点原因:
Linux防火墙未开MySQL端口
服务商设有安全组,需要自行开放端口
原文链接:https://blog.csdn.net/weixin_43670802/java/article/details/103203408