2012-09-12 100 views
0
private DBHandler(String ServerIP, String userName, String password) 
{ 
    DB_USERNAME = userName; 
    DB_PASSWORD = password; 

    DB_CONNECTION_URL = "jdbc:mysql://"+ServerIP+"/Test"; 
    connection = createConnetcion(DB_DRIVER, DB_CONNECTION_URL, DB_USERNAME, DB_PASSWORD); 
    System.out.println("Connection created"); 

} 

執行此代碼時出現java sql異常「主機'WS1A101.ushustech.com'不允許連接到此MySQL服務器」。 對我的代碼有任何投訴嗎?這裏究竟有什麼錯誤?使用服務器IP地址連接到mysql

+0

問題標題暗示問題是由使用IP地址引起的。爲什麼呢?如果您使用主機名,它可以工作嗎? – BalusC

回答

2

讓您的DBA檢查您的客戶端計算機的連接是否允許連接到數據庫。

+0

機器*和*用戶。 – Crontab

0

沒有錯代碼,請你的DBA給你的機器允許連接到數據庫

0

除非你的mysql帳戶爲[email protected]_of_machine_you_connect_from[email protected]_of_machine_you_connect_from創建,或者使用通配符[email protected]%,你將不會被允許連接。如果它使用的是主機名版本,請確保存在反向DNS映射,以便mysql可以將它所查看的IP地址映射回用戶表中列出的主機名。

0

DB_CONNECTION_URL = "jdbc:mysql://ws1a101.ushustech.com/Test";

代替DB_CONNECTION_URL = 「JDBC:MySQL的://」 + SERVERIP + 「/測試」;

+0

plz之前輸入的原因,如果你投票或投票下來 –

0

您需要在MySQL中爲您的主機設置權限。在你的情況下,它應該是這樣的

GRANT ALL PRIVILEGES on Test.* to 'user'@'WS1A101.ushustech.com' identified by 'password'; 
FLUSH PRIVILEGES; 
相關問題