网上大多方案都是CentOS 7 之前的防火墙是由iptables来管理的。在CentOS 7中防火墙已经由firewalld来管理,Centos7默认安装了firewalld,没有安装的可以用yum 命令安装,与iptables区别不小
#安装firewalldyum install firewalld firewalld-config
一、执行下面的命令允许Maria/MySQL的root用户远程连接,表示允许从任何主机连接到MariaDB/mysql服务器(这一步也就是用来给外部软件授权的)
进入MySQL:mysql -uroot -p 回车后提示你输密码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;(注意mypassword这个字段需要替换成你自己的MySQL/MariaDB登录密码)
二,激活数据库权限,退出数据库
FLUSH PRIVILEGES; ---激活之前的权限配置exit;或者quit; ---退出数据库
这里就实现了服务器内部的mysql可以被外部访问了
三,打开服务器内部的端口,这里以3306为例。永久打开。服务器里其他端口都是按照这个方法开启
systemctl start firewalld ---打开/启动防火墙firewall-cmd --zone=public --add-port=3306/tcp --permanent ---打开防火墙的3306端口
四、重启一下防火墙,并查看刚刚配置的端口是否成功对外开放?
firewall-cmd --reload #重启firewallfirewall-cmd --list-ports #查看已经开放的端口