连接工具:SQLyog
mysql版本:8.0.25
mysql服务所在:openSUSE 15.3
问题1:在本地win10上通过SQLyog远程连接openSUSE上的mysql数据库,报2002错误
失败原因:openSUSE系统防火墙阻止了mysql所用端口的外部访问,如3306端口
解决办法:防火墙设置,开放相关端口的访问
1、图形界面:搜索firewall并打开(需要输入root用户密码)
选择Zones下的public选项,在右侧窗口选择Ports项,在TCP Ports里加入端口,如3306,并点击确定保存。然后重新远程连接即可
问题2:在本地win10上通过SQLyog远程连接openSUSE上的mysql数据库,报1130错误
问题原因:mysql自身有所限制
解决办法:
(1)使用root用户登录MySQL数据库:输入命令mysql -u root -p,回车,再输入密码;
(2)切换到mysql数据库:mysql> use mysql;
(3)查询user表中root用户的主机信息:mysql> select user,host from user;;
(4)修改root用户的主机信息改为%:update user set host='%' where user='root';
(5)再次查询user表中root用户的host信息,host信息已经修改为%了:mysql> select user,host from user;
(6)刷新权限,使得修改操作生效:mysql> flush privileges; 或者重启mysql服务。
MySQL的运行结果如下: