MysqL的root使用者不允許遠端連線

來源:互聯網
上載者:User

今天程式報了異常:java.sql.SQLException: Access denied for user 'root'@'RJB-Z' (using passwrod)。

String url ="jdbc:mysql://192.168.1.169:3306/test“;

密碼沒錯的,在命令列視窗都能登進去。上網查了下發現是因為root使用者不允許遠端連線,我在這個網站(http://xucons.javaeye.com/blog/278581)找到瞭解決方法:改表或者賦權。http://xucons.javaeye.com/blog/278581

如果你串連mysql的時候發生這個錯誤:

Sql代碼   
  1. ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL server  
以下是引用內容:ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL server

 

解決方案:
1。 改表法。

可能是你的帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那台電腦,登入mysql後,更改 "mysql" 資料庫裡的 "user" 表裡的 "host" 項,從"localhost"改稱"%"

Java代碼
  1. mysql -u root -p   
  2. mysql>use mysql;   
  3. mysql>update user set host = '%' where user = 'root';   
  4. mysql>select host, user from user;  
mysql -u root -pmysql>use mysql;mysql>update user set host = '%' where user = 'root';mysql>select host, user from user;
 
 

2. 授權法。

例如,你想myuser使用mypassword從任何主機串連到mysql伺服器的話。

Sql代碼
  1. GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

 如果你想允許使用者myuser從ip為192.168.1.3的主機串連到mysql伺服器,並使用mypassword作為密碼

Sql代碼
  1. GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.