1.防火墙相关配置
1.需要在cent7中开放端口,开放端口需要开启防火墙。
systemctl stop firewalld.service 关闭防火墙 systemctl start firewalld.service 开启防火墙
2.对3306端口进行防火墙配置
firewall-cmd --zone=public --add-port=3306/tcp --permanent
会返回success
3.重启防火墙
systemctl restart firewalld.service
4.iptables设置
vim /etc/sysconfig/iptables
5.添加如下代码,放开3306端口
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
6.重启防火墙
systemctl restart firewalld.service
7.查看开放的端口
firewall-cmd --list-ports
如果返回的参数有3306端口即为成功
再次测试SQLyog可以成功连接。
2.数据库root权限开放
通过改表法解决,即修改mysql数据库中user表root用户的主机地址:
第一步:使用root用户登录mysql数据库
[hadoop@Master ~]$ mysql -uroot -p123456
第二步: 切换到mysql数据库
mysql>use mysql;
第三步:查询user表中root用户的主机信息
mysql> select user,host from user;
+------+-----------------+
| user | host |
+------+-----------------+
| root | 127.0.0.1 |
| root | 192.168.132.130 |
| root | ::1 |
| root | master.hadoop |
+------+-----------------+
4 rows in set (0.00 sec)
第四步:修改root用户的主机信息改为‘%’
mysql> update user set host='%' where user='root'
ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'
第五步:再次查询user表中root用户的host信息,host信息已经修改为‘%’了
mysql> select user,host from user;
+------+---------------+
| user | host |
+------+---------------+
| root | % |
| root | 127.0.0.1 |
| root | ::1 |
| root | master.hadoop |
+------+---------------+
4 rows in set (0.00 sec)
第六步:刷新权限,使得修改操作生效
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
如果不适用上面面语句,使用service mysql restart重启mysql数据库服务也是可以的。
再次点击SQLyog的测试连接按钮,测试连接是否用