php链接阿里云ecs远程数据库

php链接阿里云线上的远程服务器,使用原生测试,简单的代码。
首先:

1. mysql相关扩展已经安装
2. 远程服务器上的mysql服务器已允许远程访问,并且本地已经通过phpstrom和native premium等工具链接测试成功。

但是现在出现了个问题,就是当我在mysqli_contetn()第一个参数填入远程地址的时候,最终的报错信息的ip地址,竟然是我的外网地址。
如下图所示:
    183.156.*.*: 这是我的外网地址。
    139.224.*.*: 这是我想访问的远程mysql地址
现在的困惑就是,请指教!    

clipboard.png

clipboard.png

阅读 6.1k
6 个回答

看下下面的结果

use mysql;
select Host,User,Password from user;

@后面本来就是指客户端ip地址,还是检查一下用户名密码数据库名称对不对

阿里云的数据库是不允许外网访问的

需要明确的是,你的 phpstorm和navicat用的是这个183.156.x.x的IP连的数据库吗?如果是,我也不知道怎么解决,如果不是,我觉的你应该知道怎么解决。

如上面伙伴回复你的:
那个报错中的地址就应该是你的外网ip,它代表连接来源ip,不代表服务器ip。
至于你为何php脚本数据库连不上,真心感觉你可能眼花了,用户名,密码和数据库,是不是哪个搞错了。把代码里的数据往工具里填写再重新试一下?
反正感觉有点诡异!!!

我好像知道问题的所在了,刚刚看了一下mysql的文档。@玄空异人
尴尬,好像艾特不了别人)

clipboard.png

第一行和第三行的密码是一直的,也就是本地设置的。
其中第二行的密码是我线上代码里面设置的密码。
也就是说,mysql会根据来源不同,但是用户相同,密码不相同。。

最终,还是靠@玄空异人 的提醒查看密码。。而找到问题

clipboard.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏