2012-05-24 56 views
0

我試圖連接到遠程主機,開發,從我的網絡服務器上。當我從webserve composer.domain.com做這個命令:mysql -u username -ppassword -h dev.domain.com,我得到認證後的錯誤,即訪問被拒絕[email protected]遠程MySQL主機認爲我是一個不同的主機

sports.domain.comIS網絡服務器上有效的虛擬主機,但它是14之一,它不是主要主機,也不是IP通過DNS解析到的主機。

任何想法,我應該看看爲什麼MySQL認爲我來自sports.domain.com而不是預期的composer.domain.com

+0

IP地址只能被反向映射到單個主機名。如果您使用的是多域名主機,則只會顯示爲「來自」PTR記錄中列出的一臺主機。這就是mysql將用來確定你來自哪裏的主機。 –

+0

我們使用的是基於IP的虛擬主機,而不是基於名稱的虛擬主機。所以每個域都有自己獨特的IP。 – Pickle

+0

但是你有控制哪些IP是你的mysql連接的出口點嗎? –

回答

0

在創建MySQL的用戶,應該指定,其中用戶被允許連接的主機。默認情況下它是localhost。嘗試在數據庫服務器上添加其他用戶帳戶,請嘗試以下操作:

  1. CREATE USER '用戶名' @ '%' IDENTIFIED BY PASSWORD '密碼';

OR

  1. CREATE USER 'username'@'sports.domain.com' IDENTIFIED BY PASSWORD '密碼';

% - 這意味着所有客戶端都允許使用用戶帳戶連接。

+0

我要連接的數據庫只包含公共數據,所以這是我爲解決此問題所做的工作。但它並沒有真正解決問題。 – Pickle