2011-05-13 33 views
4

我试图从不同的服务器连接到一个数据库托管在一个MySQL数据库,但我得到一个错误。PHP - 从不同的服务器连接到MySQL数据库

我猜这可能是与远程权限有关。这是我可以改变的东西,还是我需要让我的托管公司来做这件事?

<?php 
$con = mysql_connect("mysql4-remote.hosting.net","myadmin","password123"); 
if (!$con) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 
?> 

Can't connect to MySQL server on 'mysql4-remote.hosting.net' (10060)PHP Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on 'mysql4-remote.hosting.net' (10060) in D:\websites\abc123\www\test.php on line 2

+1

是另一台服务器上允许的端口3306吗? – radosch

+0

我不确定是否诚实。我接触过技术支持,因为我认为他们需要通过请求来允许远程用户。 – Tom

+0

确实,它也可以通过隧道,请参阅下面的答案 – radosch

回答

6

我会说,你的登录凭据或网络设置是错误的: 看到这个职位以获得更多帮助: http://wiki.answers.com/Q/What_does_MySQL_error_number_10060_mean

如果你没有从外部访问使用隧道,这里有一个例子:

$connection = ssh2_connect('SERVER IP', 22); 
ssh2_auth_password($connection, 'username', 'password'); 
$tunnel = ssh2_tunnel($connection, 'DESTINATION IP', 3307); 
$db = new mysqli_connect('127.0.0.1', 'DB_USERNAME', 'DB_PASSWORD', 
         'dbname', 3307, $tunnel) 
    or die ('Fail: '.mysql_error()); 
1

你得给PERMIS通过将特定的远程机器IP或通配符插入到mysql中的USER表中来远程访问远程用户。

此链接将帮助你。 Click Here

相关问题