Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android MySQL可以本地连接,但不能远程连接_Android_Mysql_Database_Localhost_Mamp - Fatal编程技术网

Android MySQL可以本地连接,但不能远程连接

Android MySQL可以本地连接,但不能远程连接,android,mysql,database,localhost,mamp,Android,Mysql,Database,Localhost,Mamp,我正在尝试从我的ip地址连接到一个我正在帮助修复的移动web应用程序,以便在我的Android手机上测试它。然而,当我从本地主机和我的ip地址访问它时,会显示登录屏幕,但它只允许我从本地主机地址登录-它甚至不从ip地址连接 我正在运行MAMP Pro,并已取消选中“仅允许本地访问”。我进入MySQL my.cnf并将绑定地址从127.0.0.1更改为我自己的IP。我还注释掉了“MAMP_skip-networking_MAMP”行。然后,我创建了一个与config.php中的用户匹配的用户,该用

我正在尝试从我的ip地址连接到一个我正在帮助修复的移动web应用程序,以便在我的Android手机上测试它。然而,当我从本地主机和我的ip地址访问它时,会显示登录屏幕,但它只允许我从本地主机地址登录-它甚至不从ip地址连接

我正在运行MAMP Pro,并已取消选中“仅允许本地访问”。我进入MySQL my.cnf并将绑定地址从127.0.0.1更改为我自己的IP。我还注释掉了“MAMP_skip-networking_MAMP”行。然后,我创建了一个与config.php中的用户匹配的用户,该用户拥有对数据库的完全访问权限,并将其主机设置为%

在config.php文件中,我尝试将主机名更改为:

  • 本地主机
  • localhost:[端口号]
  • [IP地址]
  • [IP地址]:[端口号]
  • /Applications/MAMP/tmp/mysql/mysql.sock

还是。。没有什么。当我尝试从我的IP访问该站点时,我仍然无法登录。任何帮助/指导都将不胜感激。。谢谢大家!

问题很可能不是客户端的问题,而是服务器的问题。大多数MySQL服务器配置为(我认为默认情况下)拒绝非本地的连接尝试。请给我几秒钟的时间来调出要进行的config/info模式更改,以便您可以更改它

警告,向所有请求开放数据库是个坏主意。您可能希望将其开放给来自一个用户的所有IP请求,或者允许来自特定IP的任何用户的请求(或者更好地,将两者结合起来,使其仅允许特定用户从特定IP发出请求)

这里有一个很好(但同样危险)的教程:

如果我没有弄错的话,最简单的方法是运行以下查询:(假设您是“超级管理员”:

以上基本上是授予超级管理员对mysql数据库的访问权(如果尚未授予),然后切换到该数据库并从任何IP授予超级管理员访问权。同样,请按照提供的链接查看如何调整每个用户和每个IP的访问权限,否则,仅为了使用漂亮的mysql GUI,您就将自己置身于一个受伤的世界

它可能比上述更复杂(可能需要重新启动等)。另一个好文章是:


--查找提及通配符的部分。

嗨,安东尼,谢谢你这么快回复。我以“root”身份加入,并通过我的phpMyAdmin添加了另一个“root”用户-它拥有我作为主机的ip、相同的密码和所有特权。然后我运行了“刷新特权”…什么都没有。从本地主机打开它可以让我登录,但没有我的ip地址。Ju在这种情况下,我的数据库主机名设置为“localhost:3306”。您必须允许远程用户从远程IP访问数据库。我认为您可以通配符它,但作为测试,请尝试将此新根帐户设置为Host='your.remote.IP'
USE information_schema;
UPDATE USER_PRIVILEGES SET Host='%' WHERE user='superadmin';
FLUSH PRIVILEGES;
USE mysql;
UPDATE user SET Host='%' WHERE user='superadmin';