2010-01-06 29 views
4

有一個問題,我似乎無法找到答案。我正嘗試連接到遠程數據庫。我在下面給我的Ubuntu shell中鍵入:mysql客戶端連接主機名問題

mysql -u test -h mysql.domain.com -p 

MySQL的詢問我的密碼,然後輸出如下:

ERROR 1045 (28000): Access denied for user 'test'@'externalit.domain.com' (using password: YES) 

的問題是,我不是externalit。我在一個完全不同的主機上。我認爲我所在的服務器是從externalit克隆的,但我沒有設置服務器。我的問題:mysql是否有一個conf文件或其他設置可能會自動輸入一個不正確的主機名?我可以改變這個嗎?

回答

2

這是該服務器認爲所對應的名稱與您的IP地址。它可以做到DNS設置(它嘗試反向DNS),或者在/ etc/host文件中(將該IP映射到該主機)。

+0

謝謝, 我想到了這一點,做了一個挖掘和externalit FQDN解決不同的IP。如果是這種情況,它只是DNS輸出,那麼我猜服務器管理員有一些工作要做... – Tim 2010-01-06 22:29:38

2

您需要確保您連接的計算機上的反向DNS與用戶的地址相匹配。 如果您在共享IP或無法控制反向DNS,則將用戶的權限更改爲'test'@'%',這將允許任何來自任何ip地址的任何人連接,只要他們具有正確的用戶名/密碼對。當然這會引發一些安全問題。

您可以防止MySQL的從做反向查找,然後使用「test'@'123.123.123」作爲用戶/主機,但除非你是在一個固定的IP,可能會導致問題。

DC

相關問題