2011-05-13 109 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

相關問題