2013-10-12 137 views
0

好吧,我想連接到我的遠程SQL數據庫。訪問遠程SQL數據庫[2002]

我使用以下設置:

public $default = array(
    'datasource' => 'Database/Mysql', 
    'persistent' => false, 
    'host' => '10.246.16.153:3306', 
    'login' => '*******', 
    'password' => '*******', 
    'database' => 'udlejnings_pris', 
    'prefix' => '', 
    //'encoding' => 'utf8', 
); 

我的數據庫設置如下:

Database server 
    Server: 10.246.16.153 via TCP/IP 
    Software: MySQL 
    Software version: 5.1.66-0+squeeze1 - (Debian) 
    Protocol version: 10 
    Server charset: UTF-8 Unicode (utf8) 

現在,當我嘗試訪問此服務器,我收到以下錯誤:

2013-10-12 16:27:28 Error: [MissingConnectionException] Database connection "Mysql" is missing, or could not be created. 
Exception Attributes: array (
    'class' => 'Mysql', 
    'message' => 'SQLSTATE[HY000] [2002] 
', 
    'enabled' => true, 
) 

那麼我做錯了什麼?

+1

你能提供你用來連接服務器的代碼嗎? –

+0

您應該打開數據庫上的3306端口 –

回答

1

許多託管的MySQL實例不允許客戶端默認遠程連接。如果您的數據庫主機提供IP地址,您可能需要將您的IP地址添加到某種形式的遠程MySQL選項中。例如,如果其上裝有數據庫的服務器使用cPanel,則在那裏有一個「遠程MySQL」選項可以解決您的問題。或者,您可以執行'GRANT'SQL命令以允許遠程訪問您的用戶帳戶,如in this answer所述。

如果仍然存在問題,防火牆可能也會在本地阻止連接。