1、进入mysql
// 进入mysql
# git clone https://gitee.com/swoole/swoole.git
// 回车后 输入密码 密码不可见
2、设置远程访问权限
// 在mysql中执行语句( 允许远程访问的IP地址 .表示所有IP都可以根据root用户进行访问)
# grant all privileges on *.* to 'root'@'%' identified by 'youpassword' with grant option;
// 刷新MySQL的系统权限相关表
# flush privileges
// 退出mysql
# quit;
此时尝试通过navicat远程连接数据库,结果还是不行。。。
首先检查3306端口是否开放,我的是了开放的,所以排除这个原因
3、改为iptables防火墙
但是centos7的防火墙默认使用的是firewall作为防火墙,这里改为iptables防火墙步骤。
// 停止firewall
# systemctl stop firewalld.service
// 禁止firewall开机启动
# systemctl disable firewalld.service
// 查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
# firewall-cmd --state
4、检查3306端口防火墙是否为ACCEPT
// 编辑防火墙配置文件
# vi /etc/sysconfig/iptables
// 找到3306端口的防火墙配置,改为下面配置
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
按ESC 输入:exit 保存退出
// 最后重启防火墙使配置生效
# systemctl restart iptables.service
// 设置防火墙开机启动
# systemctl enable iptables.service
然后再看看,mysql是否可以远程连接,到这里后我已经成功连接