这本来应该很简单,但是我 无法 让它在我的一生中发挥作用。
我只是想远程连接到我的MySQL服务器。
连接为
mysql -u root -h localhost -p
工作正常,但尝试
mysql -u root -h 'any ip address here' -p
失败并显示错误
ERROR 1130 (00000): Host ''xxx.xx.xxx.xxx'' is not allowed to connect to this MySQL server
在该mysql.user
表中,具有主机“ localhost”的用户“ root”与具有主机“%”的另一个用户的条目完全相同。
我处于机智,不知道如何进行。任何想法都欢迎。
可能是安全预防措施。您可以尝试添加新的管理员帐户:
mysql> CREATE USER 'monty'@'localhost' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'
-> WITH GRANT OPTION;
mysql> CREATE USER 'monty'@'%' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'
-> WITH GRANT OPTION;
尽管正如Pascal和其他人所指出的那样,让具有这种访问权限的用户可以访问任何IP并不是一个好主意。如果需要管理用户,请使用root,并将其保留在localhost上。对于任何其他操作,请准确指定所需的特权,并按照Pascal的建议限制用户的可访问性。
编辑:
从MySQL常见问题解答:
如果无法弄清为什么拒绝访问,请从用户表中删除所有具有包含通配符的主机值的条目(包含“%”或“ _”字符的条目)。一个非常常见的错误是使用Host
=’%’和User =’some_user’插入一个新条目,认为这允许您指定本地主机从同一台计算机进行连接。这样做不起作用的原因是,默认特权包括Host
=’localhost’和User
=’‘的条目。由于该条目的主机值’localhost’比’%’更具体,因此从localhost连接时,它优先于新条目使用!正确的过程是使用Host
=’localhost’和User =’some_user’插入第二个条目,或使用Host =’localhost’和User
=’‘删除条目。删除条目后,请记住发出FLUSH PRIVILEGES语句以重新加载授权表。另请参见第5.4.4节“访问控制,阶段1:连接验证”。
问题内容: 我发出了以下命令: …在PhpMyAdmin中。执行后,我立即被迫退出了PhpMyAdmin。我有: 错误 #1130-不允许主机“ localhost”连接到该MySQL服务器, 如何解决我的问题? 问题答案: 改用IP: 有关更多可能性,请参见此链接。 要创建root用户,请参见MySQL是本地的&所有,请从命令行执行以下命令(“开始”>“运行”>“ cmd”(不带引号)): 文档
问题内容: 这个问题已经在这里有了答案 : 不允许主机“ xxx.xx.xxx.xxx”连接到该MySQL服务器 (26个答案) 3年前关闭。 为什么哦,为什么我不能连接到mysql? 在my.cnf中,我有以下内容 我也跑了下面… 我可以使用mysql -u root -ptest101在主机上访问,但不能使用mysql -u root -ptest101 -h xxx.xxx.xxx.xxx
问题内容: 我正在尝试创建一个注册页面,它将信息添加到SQL表中。这是我执行此操作的PHP代码…谁能告诉我这是什么错误? 它给出了以下错误: 问题答案: 如果您的mysql数据库不在同一服务器(本地主机)上,则需要为该服务器的mysql用户/数据库从远程服务器授予访问权限。请参阅本文以获取一些可能对您有所帮助的步骤。听起来好像很遥远。 https://support.rackspace.com/h
null
问题内容: 我已经在本地计算机上安装了MySQL Community Edition 5.5,并且希望允许远程连接,以便可以从外部源进行连接。 我怎样才能做到这一点? 问题答案: MySQL默认情况下允许这样做。 默认情况下禁用的是远程访问。如果要启用它,请在本地运行此SQL命令: 然后找到以下行并将其 注释 在文件中,该文件通常位于Unix / OSX系统上。在某些情况下,文件的位置是/etc/
问题内容: 我最近在Windows 2003上安装了MySQL 5,并尝试配置实例。一切正常,直到我进入“应用安全设置”,这时才出现上述错误()。 我的防火墙中确实存在“ MySQL Server”的端口3306异常。 问题答案: 您可能必须向用户授予表上的“ localhost”特权。请参阅语法文档。这是一个示例(来自C语言)。 “在%s上授予所有特权。*由’%s’标识为’%s’@’本地主机’”