数据库MySQL要远程连接,出现这个错误是什么原因?

上周,一位客户询问如何解决 MySQL 远程连接问题。
他遇到了错误代码1 1 3 0“ERROR 1 1 3 0: Host xxx.xxx.xxx.xxx is not allowed to connect to this MySQL server”。
这通常是因为远程连接的用户权限设置不正确。
我跟他解释了一下,操作起来真的很简单。

首先,您必须以root权限登录MySQL服务器。
然后切换到mysql数据库。
这个数据库有一个用户表,记录了所有用户的授权信息。

接下来,您可以使用此命令查看当前 root 用户的主机值:
SELECT host FROM user WHERE user = 'root';
主机值默认为 'localhost',这意味着您只能在本地连接。

然后您需要将主机值更改为“%”,以便您可以从任何地方连接。
修改后的命令为:
UPDATE USER SET host = '%' WHERE user = 'root';
AFTER UPDATE;记得刷新MySQL系统权限表,使用这个命令:
FLUSH PRIVILEGES;
最后,检查主机值是否修改成功。
'%' 就是这样。
最后一步是重启MySQL服务以使设置生效。

客人按照以下步骤操作,远程连接成功。
无论哪种方式,此方法都适合您。

Navicat连接1130错误如何解决

记得上次上班加班到半夜,Navicat 突然无法连接数据库,屏幕上出现错误 1 1 3 0。
这在当时是一件紧急的事情,但幸运的是我找到了一个非常实用的解决方案。

使用root帐号登录MySQL服务器。
键入命令行并不困难,但命令行界面看起来有点吓人。
切换到mysql数据库并检查用户权限。
我发现根主机被记录为localhost。
奇怪的是,我无法连接。
当我把它改成%的时候,我其实感到有点困惑。
我怕换了以后就无法连接了,情况会更糟。

最重要的是flush权限命令。
运行之后,我感觉到了真正的不同。
当我重新启动服务时,系统提示我稍等一下,所以我坐回椅子上等待,看着进度条慢慢完成。
再次访问数据库的时候,心里踏实了。

但是,还有一件事。
我突然想到了这个想法。
修改后无法连接怎么办?我应该再改一次吗?或者我应该去别处看看?
防火墙设置实际上很容易被忽视。
上次帮同事架设服务器,遇到了麻烦,因为防火墙打不开。
云服务器上的安全组规则比较复杂,需要特别注意端口的开放。

测试连接时,最好在另一台更安全的计算机上进行尝试。
如果测试连接仍然存在问题,您可能需要检查网络设置。

您好,数据库实际上是互连的。
有时,小的主机字段可能需要很长时间。
但一旦你了解了它,感觉就像解决了一个难题。