首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用ip地址连接mysql

问无法使用ip地址连接mysql
EN

Stack Overflow用户
提问于 2012-12-19 17:10:36
回答 2查看 4.5K关注 0票数 0

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

​

​

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-19 21:34:53

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

以root用户身份运行此命令

代码语言:javascript
复制
SELECT user, host FROM mysql.user;

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

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

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

代码语言:javascript
复制
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.**)。但是,如果还没有出现这种情况,您应该会得到以下错误:

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

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

票数 5
EN

Stack Overflow用户

发布于 2017-04-19 15:09:42

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

代码语言:javascript
复制
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 DB。

对于此版本的MYSQL DB,不需要在与"bin“文件夹相同位置的"my-default.ini”中进行任何更改。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13948885

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档