Linux系统中的3306端口通常是MySQL数据库服务的默认端口。开启3306端口意味着允许外部或内部网络访问MySQL服务。
开启3306端口主要涉及两种类型:
使用iptables
或firewalld
来配置防火墙规则。
使用iptables
:
# 允许3306端口的TCP流量
sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
# 保存规则
sudo iptables-save
使用firewalld
:
# 开放3306端口
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 重新加载防火墙规则
sudo firewall-cmd --reload
编辑MySQL配置文件my.cnf
或my.ini
,确保允许远程连接。
编辑配置文件:
sudo nano /etc/mysql/my.cnf
找到并修改以下行:
[mysqld]
bind-address = 0.0.0.0
重启MySQL服务:
sudo systemctl restart mysql
授权远程访问:
登录MySQL并授权远程访问:
mysql -u root -p
# 在MySQL shell中执行
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your_password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
确保防火墙规则已正确保存并重新加载。
sudo iptables-save
sudo firewall-cmd --reload
确保MySQL服务已重启,并且配置文件中的更改已生效。
sudo systemctl restart mysql
确保MySQL用户有权限访问3306端口,并且密码正确。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your_password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
通过以上步骤,你可以成功开启Linux系统中的3306端口,并确保MySQL服务允许远程访问。
领取专属 10元无门槛券
手把手带您无忧上云