我的笔记本电脑上运行着 MySQL wamp 服务器。我创建了一个 php 文件来在数据库上运行 SQL 查询并返回一些行。当我在笔记本电脑的浏览器上使用 URL
运行 php 文件时http://192.168.2.10/getData.php?sender=x
我得到了结果。我可以在连接到同一网络的手机浏览器上使用相同的 URL 获得相同的结果。但是,当我使用移动数据而不是笔记本电脑使用的网络时,我无法得到结果。
我研究了一下,发现我必须使用
GRANT ALL PRIVILEGES ON chats.* TO 'user'@'%' IDENTIFIED BY 'password'
我就是这么做的。然后,在手机上我想我必须使用服务器的全局和本地 IP 的某种组合。但我应该使用什么组合呢?
最佳答案
当您使用 php 时,需要从执行 .php 脚本的服务器“看到”所建立的连接(可以是与您的 mysql 服务器不同的 IP)。在这种情况下,您需要确保使用的用户具有 user@% (其中 % 表示允许任何 ip)或 user@ip (其中 ip 是连接的 ip)。
在您的手机上输入网络服务器的 IP + .php 脚本的路径。在您的情况下,这似乎是 http://192.168.2.10/getData.php?sender=x
现在您需要确保网络服务器绑定(bind)到您的外部 IP 地址(而不是本地主机),在这种情况下,您的 url 将不起作用。为了确保一切正常,请拿另一台电脑/笔记本电脑(在同一网络中)并检查是否从浏览器运行脚本。
关于php - 从另一个网络远程访问mysql服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37875713/