首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >错误1130 (HY000):不允许主机'‘连接到此MySQL服务器

错误1130 (HY000):不允许主机'‘连接到此MySQL服务器
EN

Stack Overflow用户
提问于 2013-10-01 02:30:53
回答 4查看 340.8K关注 0票数 144

为什么,为什么我不能连接到mysql?

代码语言:javascript
复制
mysql -u root -ptest101 -h xxx.xxx.xxx.xxx
ERROR 1130 (HY000): Host 'xxx.xxx.xxx.xxx' is not allowed to connect to this MySQL server

在my.cnf中,我有以下内容

代码语言:javascript
复制
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address        = 0.0.0.0

我还运行了下面的代码...

代码语言:javascript
复制
'UPDATE mysql.user SET Password = PASSWORD('test101') WHERE User = 'root';
FLUSH PRIVILEGES;

我可以使用mysql -u根-ptest101在主机上访问,但不能使用mysql -u根-ptest101 -h xxx.xxx进行访问。

Wow...why这是怎么回事?我是12.04

代码语言:javascript
复制
mysql> SELECT host FROM mysql.user WHERE User = 'root';
+---------------------------------------------+
| host                                        |
+---------------------------------------------+
| %                                           |
| 127.0.0.1                                   |
| ::1                                         | |
| localhost                                   |
+---------------------------------------------+
5 rows in set (0.00 sec)
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-10-01 02:37:16

您的root帐户(此语句适用于任何帐户)可能只添加了本地主机访问权限(推荐)。

您可以使用以下命令进行检查:

代码语言:javascript
复制
SELECT host FROM mysql.user WHERE User = 'root';

如果您只看到localhost127.0.0.1的结果,则不能从外部源连接。如果您看到其他IP地址,但不是您正在连接的IP地址-这也是一个指示。

您需要添加要授予访问权限的每个系统的IP地址,然后授予权限:

代码语言:javascript
复制
CREATE USER 'root'@'ip_address' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'ip_address';

如果你看到%,那就完全有另一个问题了,因为它是“任何远程源”。但是,如果您希望任何/所有系统都通过根目录连接,请使用%通配符授予访问权限:

代码语言:javascript
复制
CREATE USER 'root'@'%' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';

最后,重新加载权限,您应该能够进行远程访问:

代码语言:javascript
复制
FLUSH PRIVILEGES;
票数 350
EN

Stack Overflow用户

发布于 2016-04-28 14:26:58

代码语言:javascript
复制
$mysql -u root --host=127.0.0.1 -p

mysql>use mysql

mysql>GRANT ALL ON *.* to root@'%' IDENTIFIED BY 'redhat@123';

mysql>FLUSH PRIVILEGES;

mysql> SELECT host FROM mysql.user WHERE User = 'root';
票数 19
EN

Stack Overflow用户

发布于 2014-07-22 19:03:13

转到PhpMyAdmin,单击所需的数据库,转到特权选项卡并创建新用户"remote",然后为其提供所有特权,并在主机字段中设置"Any host“选项(%)。

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

https://stackoverflow.com/questions/19101243

复制
相关文章

相似问题

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