2012-12-19 227 views
0

我嘗試連接我的數據庫使用主機地址作爲我的IP地址203.199.209。**,但無法連接db.if我嘗試連接我的數據庫使用主機地址作爲localhost它連接成功。 如何解決這個問題?根據您是從連接的主機無法連接mysql使用IP地址

enter image description here

+0

你允許遠程訪問 –

+0

chumki ...那麼如何連接遠程系統sql? – Baskar

+0

raheel shan ..只有我問..如何允許遠程訪問? – Baskar

回答

3

的MySQL授權訪問。

運行此命令爲root

SELECT user, host FROM mysql.user; 

這些都是存在服務器上的用戶。請注意0​​列。

總之,一個用戶被定義爲兩個用戶名(user連接(host)的一個點。當您以localhost的身份訪問服務器時,您實際登錄爲[email protected]。另一方面,當您通過IP地址訪問服務器時,您實際登錄爲[email protected]。我想後者不存在於你的服務器上。

您可能希望創建一個新的用戶,如[email protected][email protected]%(百分號是一個通配符;在這裏,它意味着「任何主機」):

CREATE USER 'some_user'@'your.ip.address.here' IDENTIFIED BY 'your_password'; 
GRANT ALL ON your_database.* to 'some_user'@'your.ip.address.here'; 

如果你想進一步挖掘,看有關MySQL訪問控制的更多詳細信息,請參閱this manual page; CREATE USER語法的this page

[編輯]

顯然,由其他人則建議,首先需要確保你的服務器監聽這個IP地址(203.199.209。**)。但是,如果情況並非如此,您應該會收到以下錯誤:

ERROR 2003 (HY000): Can't connect to MySQL server on '203.199.209.**' (111)

您收到的錯誤肯定表明存在權限問題。

0

對於MySQL-5.7.15-winx64(Windows版本),登錄爲 「根」 用戶和MYSQL運行下面的查詢:

CREATE USER 'user'@'localhost' IDENTIFIED BY 'pass'; 

GRANT ALL PRIVILEGES ON *.* TO 'user'@'localhost' WITH GRANT OPTION; 

CREATE USER 'user'@'%' IDENTIFIED BY 'pass'; 

GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' WITH GRANT OPTION; 

FLUSH PRIVILEGES; 

,然後重新啓動您的MySQL數據庫。

對於此版本的MYSQL DB,位於與「bin」文件夾相同位置的「my-default.ini」中不需要進行任何更改。