在CentOS系統中,您可以使用firewall-cmd
命令來設置防火墻規則,以允許MySQL服務通過防火墻。以下是具體步驟:
首先,確保防火墻正在運行:
sudo systemctl status firewalld
如果防火墻未運行,可以啟動它:
sudo systemctl start firewalld
使用firewall-cmd
命令添加一個端口規則,允許MySQL服務通過防火墻:
sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp
--permanent
:使規則永久生效。--zone=public
:指定防火墻區域為公共區域。--add-port=3306/tcp
:添加TCP端口3306。應用新的防火墻規則:
sudo firewall-cmd --reload
檢查防火墻規則是否已成功添加:
sudo firewall-cmd --list-all
在輸出中查找ports
部分,確認3306端口已列出。
如果您只想允許特定IP地址訪問MySQL,可以使用以下命令:
sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="3306" accept'
source address="192.168.1.100"
:指定允許訪問的IP地址。然后重新加載防火墻配置:
sudo firewall-cmd --reload
確保MySQL配置文件/etc/my.cnf
或/etc/mysql/my.cnf
中的bind-address
設置正確,允許來自所需IP地址的連接。例如:
bind-address = 0.0.0.0
這表示MySQL將接受所有IP地址的連接。如果您只想允許本地連接,可以設置為127.0.0.1
。
最后,重啟MySQL服務以應用配置更改:
sudo systemctl restart mysqld
通過以上步驟,您應該能夠成功設置CentOS系統中的防火墻規則,允許MySQL服務通過防火墻。