2015-11-25 259 views
0

我有一個運行在VPS上的mysql數據庫。我可以SSH入主機,並連接到MySQL沒有問題。我無法從桌面遠程連接到MySQL。我已執行以下:無法遠程連接到mysql

  • 防火牆

  • 將我的本地IP到由MySQL接受遠程IP地址上打開端口3306。這是通過的cPanel

  • 完成執行

    GRANT ALL ON dbname.* TO [email protected]'x.x.x.x' IDENTIFIED BY 'PASSWORD' 
    

告訴MySQL來讓我從指定的地址連接。

我執行從我的桌面上的以下命令行:

mysql -h x.x.x.x -u username -p 

我得到這表明我過去的防火牆和MySQL是響應密碼提示。當我提供密碼,就拒絕訪問:

ERROR 1045(28000):拒絕訪問用戶username'@'x.x.x.x'(使用密碼:YES)

我錯過了什麼?

+0

'我得到一個密碼提示,表明我已經過防火牆,並且mysql正在響應。「我認爲這是你錯了的地方。我已經看到足夠多的時間了,'mysql'命令行客戶端會嘗試連接到一個**非運行的''localhost'服務器,並且仍然會提示用戶輸入憑據... –

+0

嘗試在命令行上指定數據庫作爲最後一個論點。 –

+0

現貨。我嘗試了一個無效的端口號,仍然有密碼提示。所以這是我的桌面上的mysql在轉發到遠程主機之前提示我。有沒有辦法找出我是否越過防火牆?就像一個ping或一個mysqld的癢癢? – Peter

回答

0

答案在評論中給出,所以我會在這裏重複它以正確地關閉該線程。 alvits懷疑遠程用戶還沒有被創建。它已經創建,但他的評論促使我清理用戶表。

我刪除了所有遠程用戶,包括由CPanel創建或從其他主機遷移的負載。然後我開始從零開始做create usergrant all,它現在可以工作。

謝謝!