2012-10-08 19 views
0

我有一個特殊情況,數據庫連接在活動服務器上工作,但不在本地計算機上工作。MySQL數據庫連接適用於Live Server,但不適用於測試服務器

我有以下連接腳本訪問(運行WAMP)我的兩個本地計算機以及現場服務器上的數據庫:

function GetGlobalConnectionOptions() 
{ 
    return array(
     'server' => 'localhost', 
     'port' => '3306', 
     'username' => 'sample_username', 
     'password' => 'sample_password', 
     'database' => 'sample_database' 
); 

我可以連接到現場服務器數據庫就好了。但是,我無法連接到測試計算機上的本地主機數據庫。這裏是我收到的錯誤:

Could not connect to localhost: 
Access denied for user ''@'localhost' to database 'sample_database' 

我不明白它如何不會在我的本地主機上工作。另外,我擔心這是說用戶是'@'localhost'而不是sample_username @ localhost。可能這是問題的一部分,但我被卡住了。任何建議將不勝感激。

僅供參考我可以在每個數據庫中設置用戶名,並授予所有權限。

+1

我會將您的代碼追溯到數據庫連接並確保用戶名正確傳入。 – deizel

+0

它似乎會返回連接的詳細信息,但實際的連接將使用像mysql_connect(),mysqli_connect(),新的PDO()等功能。 – deizel

+0

此外,您可能想要運行'在你的服務器上顯示授權;因爲如果允許沒有用戶名的連接,MySQL似乎沒有正確設置。 – deizel

回答

1

在標準安裝中,localhost上的用戶必須有明確的授權。所以用戶@%訪問權限不夠,它必須是[email protected]。作爲管理員,輸入grant all privileges on * to [email protected] identified by 'password'; flush privileges;

相關問題