gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 23:30:50 25 4
gpt4 key购买 nike

我正在尝试从我的 IP 地址连接到我正在帮助修复的移动网络应用程序,以便我可以在我的 Android 手机上对其进行测试。但是,虽然当我从本地主机和我的 IP 地址访问它时显示登录屏幕,但它只会让我从本地主机地址登录 - 它甚至不从 IP 地址连接。

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

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

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

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

最佳答案

问题很可能与客户端无关,而与服务器有关。大多数 MySQL 服务器都配置(我认为默认情况下)拒绝非本地的连接尝试。给我几秒钟的时间来提取要进行的配置/信息架构更改,以便您可以更改它。

警告,对所有请求开放数据库不是一个好主意。您需要让它对来自一个用户的所有 IP 请求开放,或者允许来自特定 IP 的任何用户的请求(或者更好的是,将两者结合起来,以便只有某些用户可以从特定 IP 发出请求) .

这是一个很好(但又很危险)的教程:

how-do-i-enable-remote-access-to-mysql-database-server

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

USE information_schema;
UPDATE USER_PRIVILEGES SET Host='%' WHERE user='superadmin';
FLUSH PRIVILEGES;
USE mysql;
UPDATE user SET Host='%' WHERE user='superadmin';

以上基本上是授予 super 管理员访问 mysql 数据库的权限(如果尚未授予),然后切换到该数据库并授予来自任何 IP 的 super 管理员访问权限。同样,按照提供的链接查看如何针对每个用户和每个 IP 进行调整,否则您只是为了使用一个漂亮的 MySQL GUI 而将自己打开一个受伤的世界。

可能比上面的更复杂(可能需要重启等等)。另一篇好文章是:

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

关于android - MySQL 可以本地连接,但不能远程连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10765783/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com