无法使用ip地址连接mysql

时间:2012-12-19 09:10:36

标签: mysql sql

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

enter image description here

2 个答案:

答案 0 :(得分:3)

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

root

运行此命令
SELECT user, host FROM mysql.user;

这些是您服务器上存在的用户。请注意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';

如果您想进一步挖掘,请参阅this manual page以获取有关MySQL访问控制的更多详细信息,并this page了解CREATE USER语法。

[编辑]

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

  

ERROR 2003(HY000):无法连接到'203.199.209上的MySQL服务器。**'(111)

您获得的错误肯定表明存在权限问题。

答案 1 :(得分:0)

对于mysql-5.7.15-winx64(Windows版),请以" root"登录用户并在MYSQL中运行以下查询:

CREATE USER 'user'@'localhost' IDENTIFIED BY 'pass';

GRANT ALL PRIVILEGES ON *.* TO 'user'@'localhost' WITH GRANT OPTION;

CREATE USER 'user'@'%' IDENTIFIED BY 'pass';

GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' WITH GRANT OPTION;

FLUSH PRIVILEGES;

然后重新启动您的MYSQL数据库。

对于此版本的MYSQL DB," my-default.ini"位于" bin"文件夹中。