1.开放mysql访问端口3306 修改防火墙配置文件 vi /etc/sysconfig/iptables 加入端口配置 注意:增加的开放3306端口的语句一定要在icmp-host-prohibited之前 -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT 重新加载规则 service iptables restart 默认mysql的用户是没有远程访问的权限的,因此当程序跟数据库不在同一台服务器上时,我们需要开启mysql的远程访问权限。 主流的有两种方法,改表法和授权法。 相对而言,改表法比较容易一点,个人也是比较倾向于使用这种方法,因此,这里只贴出改表法 2.修改mysql库里的host 登录mysql; use mysql update user set host='%' where user='root' and host='localhost'; 记得一定还得修改密码,因为这时密码已失效,虽然本地还可以原密码登录,可远程改了host后还是没法访问 UPDATE user SET password=password("root") WHERE user='root'; flush privileges; 3.重启mysql,远程就可以访问了 service mysqld restart; CentOS7开启MySQL远程访问 CentOS7这个版本的防火墙默认使用的是firewall,与之前的版本使用iptables不一样。按如下方便配置防火墙: 1、关闭防火墙:sudo systemctl stop firewalld.service 2、关闭开机启动:sudo systemctl disable firewalld.service 3、安装iptables防火墙 执行以下命令安装iptables防火墙:sudo yum install iptables-services ? 4、配置iptables防火墙,打开指定端口(CentOS6一样) 5、设置iptables防火墙开机启动:sudo systemctl enable iptables 6、之后的和CentOS6一样 CentOS下防火墙的基本操作命令 CentOS 配置防火墙操作实例(启、停、开、闭端口): 注:防火墙的基本操作命令: 查询防火墙状态: [root@localhost ~]# service iptables status 停止防火墙: [root@localhost ~]# service iptables stop 启动防火墙: [root@localhost ~]# service iptables start 重启防火墙: [root@localhost ~]# service iptables restart 永久关闭防火墙: [root@localhost ~]# chkconfig iptables off 永久关闭后启用: [root@localhost ~]# chkconfig iptables on