Linux如何配置MySQL远程连接

in 备忘 with 9682 comments

为了安全考虑,大多MySQL数据库仅支持云主机本机(localhost)连接数据库,如果需要远程连接数据库,需要如下操作(缺一不可):

打开iptables 3306端口

如果您的操作系统为CentOS系列:

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

centos_iptables3306_cn.png

如果您的操作系统为Ubuntu/Debian系列:

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

数据库授权

远程连接新建一个帐号(帐号名不能为root)。

如:添加一个用户名为db_user,密码为db_pass,授权为% (%表示所有外围IP能连接)对db_name数据库所有权限,命令如下

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; #退出数据库控制台,特别注意有分号

createuserall_cn.png

Comments are closed.