我有一個在godaddy服務器上設置的數據庫。它被配置爲允許遠程訪問,並且我正在運行一些需要訪問這些數據的網站。它可以從另一個godaddy網站訪問,並且可以在工作和家中從我的開發環境進行連接。我們最近設置了與mydomain.com的託管。MySQL遠程訪問麻煩?
這裏是代碼塊觸發它:
function connect(){
$servername = "XX.XX.XXX.XX";
$dbusername = "databaseusername";
$dbpassword = "mahpassword";
$dbname = "databasename";
try{
$newMysql = new PDO("mysql:host=".$servername.";dbname=".$dbname, $dbusername, $dbpassword);
}
catch(PDOException $e){
echo 'connection Failed: '. $e->getMessage();
die;
}
}
,現在我在新網站上收到此錯誤信息:
connection Failed: SQLSTATE[HY000] [2003] Can't connect to MySQL server on 'XX.XX.XXX.XX' (111)
我能想到的唯一的問題是,或者由於某種原因,MySQL數據庫默認連接到的IP地址數量有限(這看起來很狼狽),我被MySQL服務器上的防火牆阻止(再次......對我來說沒有意義) ,或者在mydomain託管服務器上有一些設置禁止遠程請求(?)
我是新來的這種事情,所以我打開任何建議。我可能只是在新網站上設置了另一個數據庫,但如果我不需要,我不希望讓它們保持同步的麻煩。什麼可能是錯的?有沒有解決方法?
[編輯]通過控制檯(mysql -h XX.XX.XXX.XX ...)
連接到遠程數據庫 ,所述特權被INFORMATION_SCHEMA信息數據庫下找到,一個快速select * from SCHEMA_PRIVILEGES
和select * from USER_PRIVILEGES
表明'databaseusername'@'%'
具有足夠的特權。這並不是說它對我有幫助,但也許它會幫助某個人。
「無法連接」消息可能是防火牆塊。驗證您的主機允許遠程連接,但很多情況下不允許。 – 2012-07-11 15:04:14
你可以從控制檯運行'mysql -h XX.XX.XXX.XX -u databaseusername -p'嗎? – 2012-07-11 15:13:15
是的,從控制檯運行。 – Riet 2012-07-11 15:23:06