SQLyog远程连接MySQL,报错2003
检查是否在虚拟机中关闭防火墙
[root@user /]# firewall-cmd --state //查看防火墙状态
[root@user /]# systemctl stop firewalld.service //停止firewall
[root@user /]# systemctl disable firewalld.service //禁止firewall开机启动
SQLyog远程连接mysql,报错1130
一、下载SQLyog安装包,下载完以后直接安装就可以了
二、创建新连接,
2.1点击软件右侧绿色图标,输入安装mysql的远程主机地址、登录mysql的用户名、密码,mysql的端口号,默认为3306端口
2.1点击测试连接,测试连接是否正确
可以看到此时测试连接报错,远程连接数据库的时候,出现 ERROR 1130 (HY000): Host '192.168.0.1' is not allowed to connect to this MySQL server提示信息,不能远程连接数据库,该条错误应该是该主机没有连接远程mysql数据库的权限,
通过改表法解决,即修改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数据库服务也是可以的。
2.3再次点击SQLyog的测试连接按钮,测试连接是否用
测试连接成功!
记得打开服务器的3306端口
参考:
https://blog.csdn.net/weixin_43556773/article/details/109170774
https://blog.csdn.net/u012844147/article/details/78485418