2012-07-15 154 views
3

我想用php脚本登录到远程mysql数据库。远程mysql连接使用php

数据库已打开以进行远程连接。我可以使用我的家用PC上的mysql admininstrator prog或openoffice(ODBC)进行连接。

我曾尝试在一些虚拟主机上的两个不同帐户上运行脚本,但彼此的数据库不同,但没有成功。

此外,脚本不会从这两个帐户中的一个连接到另一个帐户上的数据库。

似乎托管脚本的服务器上的PHP安装程序将不允许连接到远程数据库,即使数据库托管在同一个虚拟主机上。剧本刚刚超时。

任何想法

+5

我会联系您的虚拟主机。 – 2012-07-15 20:49:44

+0

从安全的角度来看,传出的连接可能被阻止,请参阅Daniel White的评论。 – Arend 2012-07-15 20:51:43

回答

1

我不知道,但有个东西叫SQL safe mode。然后'localhost:3306'始终用作connect的服务器。

@Daniel是对的:你应该联系你的主机,或者检查这个配置值是否在你的设置phpinfo

+0

我正在等待托管公司回到我身边,但同时我检查了sql.safe模式已关闭。 – Ian 2012-07-16 12:37:51

+0

workarround将在mysql服务器上的php中创建您自己的API。所以物理上包含你想连接的mysql服务器的服务器应该包含api代码。从其他PHP服务器,您可以使用某种访问令牌来进行Curl请求。 – RTB 2012-07-16 12:53:37

+0

@lan如果我的anwser帮助请接受它,以便其他人可以学习它。如果不是,我可以怎样帮助你呢? – RTB 2012-07-19 11:26:55

2

的DB是开放的远程连接

那么你已经有了很大的安全问题。数据库应该从不直接暴露在互联网上。事实上,ISR是最近一个影响MySQL mariaDB和Percona的漏洞,很容易被利用。

您可以从家中连接建议没有主机白名单,但仅仅是您无法连接的计算机存在路由问题,或者防火墙配置为阻止此类访问。这与PHP配置无关。

一旦禁用了对目标数据库的远程访问,解决该问题的正确方法是使用VPN或SSL端口隧道。

+0

远程连接实际上非常有用。不过,您可以将一个数据库用于多个应用程序,但这非常有用。 当然这很危险,但如果你正确配置你的设置(白名单,首先),那么你就没有危险。 – 2012-07-15 22:22:13

+0

是的,它是危险的:http://www.theregister.co.uk/2012/06/11/mysql_mariadb_password_flaw/ – symcbean 2012-07-16 08:07:20

5

尝试SQLyog

有了它,你可以使用HTTP Tunneling,你基本上复制一个PHP文件到你的文件夹根目录并使用数据库凭证。

enter image description here

您也可以尝试做同样的用腻子http://oldsite.precedence.co.uk/nc/putty.html

我敢肯定有使用相同的隧道功能SQLyog的免费软件。

+0

真的很好,很简单! – PHP 2012-07-16 13:51:55