无法使用ip地址连接mysql

Bas*_*kar 0 mysql sql

我尝试使用主机地址作为我的 ip 地址 203.199.209.** 连接我的数据库,但无法连接数据库。如果我尝试使用主机地址作为本地主机连接我的数据库,它连接成功。如何解决这个问题?

在此处输入图片说明

Ran*_*eed 5

MySQL 根据您连接的主机授予访问权限。

运行此命令为root

SELECT user, host FROM mysql.user;
Run Code Online (Sandbox Code Playgroud)

这些是存在于您的服务器上的用户。注意host列。

简而言之,用户被定义为用户名 ( user)连接点 ( host)。当您以 身份访问服务器时localhost,您实际上以 身份登录some_user@localhost。另一方面,当您通过服务器的 IP 地址访问服务器时,您实际上是以some_user@your.ip.address.here. 我猜后者在您的服务器上不存在。

您可能想要创建一个新用户,例如some_user@your.ip.address.heresome_user@%(百分号是通配符;这里,它表示“任何主机”):

CREATE USER 'some_user'@'your.ip.address.here' IDENTIFIED BY 'your_password';
GRANT ALL ON your_database.* to 'some_user'@'your.ip.address.here';
Run Code Online (Sandbox Code Playgroud)

如果您想进一步挖掘,请参阅此手册页以了解有关 MySQL 访问控制的更多详细信息,以及此页面以了解CREATE USER语法。

[编辑]

显然,正如其他人所建议的,您首先需要确保您的服务器侦听此 IP 地址 (203.199.209.**)。但如果情况并非如此,您应该收到以下错误:

错误 2003 (HY000):无法连接到“203.199.209.**”上的 MySQL 服务器 (111)

您收到的错误肯定表明存在权限问题。