0%

Linux 配置数据库远程连接 Iptables 开启3306端口

我服务器用的Oneinstack配置的环境,但是无法远程连接数据库,排查了一下是由于防火墙开启,3306端口不通导致的

防火墙开启3306端口

Centos

1
2
iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
service iptables save #保存iptables规则

Ubuntu/Debian

1
2
iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
iptables-save > /etc/iptables.up.rules #保存iptables规则

数据库授权

1
2
3
4
# mysql -uroot -p
MySQL [(none)]> grant all privileges on db_name.* to db_user@'%' identified by 'db_pass'; #授权语句,特别注意有分号
MySQL [(none)]> flush privileges;
MySQL [(none)]> exit; #退出数据库控制台,特别注意有分号

后记

参考文章 - 如何配置数据库远程连接