[英]How to connect to online mysql database from Java desktop app
我鋪平了付費托管,並將我的數據庫添加到其中。 我正在嘗試從我的 java 桌面應用程序連接到這個在線數據庫,但是我遇到了異常:通信鏈接失敗。
這是我的代碼:
public Kviz_DAO(){
try{
Class.forName("com.mysql.jdbc.Driver");
konekcija = DriverManager.getConnection("jdbc:mysql://penal.ba:2082/mydatabasename?"+
"user=mydbuser&password=mydbpassword");
}
catch(Exception ex){
ex.printStackTrace();
}
}
誰能告訴我我做錯了什么。
檢查,如果您的 IP 的數據庫服務器中有權限。 如果沒有,則授予IP權限
GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'%' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;
如果不工作,請檢查防火牆。
MySQL 的默認端口是 3306。您確定您使用的主機名和端口是正確的嗎?
嘗試這個:
konekcija = DriverManager.getConnection("jdbc:mysql://penal.ba:2082/mydatabasename", mydbuser, mydbpassword);
檢查這個:
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信鏈接失敗
您可以使用 MySQL 管理員連接嗎?
示例代碼:
String url1 = "jdbc:mysql://localhost:3306/";
String db1 = "userdb";
String driver1 = "com.mysql.jdbc.Driver";
String user1 = "root";
String pass1 = "sarakrish";
try {
Class.forName(driver1).newInstance();
con = DriverManager.getConnection(url1 + db1, user1, pass1);
你應該試試這個方法:
String url = "jdbc:mysql://penal.ba:2082/";
String db = "mydatabasename";
String driver = "com.mysql.jdbc.Driver";
String user = "mydbuser";
String pass = "mydbpassword";
Class.forName("com.mysql.jdbc.Driver");
konekcija = DriverManager.getConnection(url+db,user,pass);
下載連接器 J 。 將其添加到您的類路徑和代碼中:
// This will load the MySQL driver, each DB has its own driver
Class.forName("com.mysql.jdbc.Driver");
// Setup the connection with the DB
connect = DriverManager
.getConnection("jdbc:mysql://remoteUri/database-name?"
+ "user=user&password=userpw");
Connection konekcija = DriverManager.getConnection("jdbc:mysql://penal.ba:2082/mydatabasename?" + "user=mydbuser&password=mydbpassword");
//konekcija should be an object of Connection class.....I think :-p
如果您無法連接到遠程 MySql 數據庫,這是由於托管公司/服務器的權限。 您可以通過為您的 ip 添加權限來解決此問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.