[英]Connecting to MySQL database error in Java
我有一個Java代碼,並使用以下連接字符串連接到mysql數據庫。
String userName = "admin";
String password = "pass";
String url = "jdbc:mysql://<my IP>/dbase"; //not localhost
Class.forName ("com.mysql.jdbc.Driver").newInstance ();
conn = DriverManager.getConnection (url, userName, password);
當我制作一個JAR(通過Eclipse運行可運行的JAR)並將其帶到同一網絡中的另一台機器時,出現錯誤
Access denied for user 'admin'@'<another machine IP' (using password: YES) //not localhost
當我將JAR轉移到另一台計算機時,IP神奇地更改為另一台計算機IP。 admin用戶擁有所有可能的權限。
怎么了? 請幫忙 !!
錯誤消息中列出的IP地址是您的程序在其上運行的計算機的IP地址 。 告訴您,不允許您以root
身份從該IP地址連接到MySQL
您將需要與配置/管理MySQL數據庫的人員交談。 這很有可能是一種故意的安全措施。
也許您應該運行以下命令。
grant all privileges on *.* to 'admin'%'@' identified by 'pass';
flush privilges;
我認為您的Java代碼沒有問題。 也嘗試從命令提示符連接mysql服務器
mysql -u root -h <ip address> -p
如果您遇到相同的錯誤,則可能的原因是1.使用正確的密碼2.拒絕通過網絡訪問權限
您可以使用以下命令授予權限
GRANT ALL ON db.* to root@'ip' IDENTIFIED BY 'PASSWORD';
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.