Как я могу подключиться к удаленной базе данных MySQL через S SH из приложения java? ///////////////////////////
Не могу подключиться к БД. Я правильно заполнил данные? Чего-то не хватает? (Вы можете видеть мои детали в приложенном изображении) Заранее спасибо
////////////////////////////
package jkljl;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;
import java.sql.Connection;
public class Test {
public static void main(String[] args) throws SQLException {
int lport = 5656;
String rhost = "152.16.10.143";
String host = "connect.msdbs.com";
int rport = 3306;
String user = "jojo111";
String password = ""; //Dont got ssh pass
String dbuserName = "jojo111";
String dbpassword = "AB1234";
String url = "jdbc:mysql://localhost:" + lport + "/br_vo";
String driverName = "com.mysql.jdbc.Driver";
String SshKeyFilepath = "C:\\Users\\jojo111\\Desktop\\jojo111";
Connection conn = null;
Session session = null;
try {
java.util.Properties config = new java.util.Properties();
config.put("StrictHostKeyChecking", "no");
JSch jsch = new JSch();
jsch.addIdentity(SshKeyFilepath);
session = jsch.getSession(user, host, 22);
// session.setPassword(password);
session.setConfig(config);
session.connect();
System.out.println("Connected");
// Port Forwarding
int assinged_port = session.setPortForwardingL(lport, rhost, rport);
System.out.println("localhost:" + assinged_port + " -> " + rhost + ":" + rport);
System.out.println("Port Forwarded");
// mysql database connectivity
Class.forName(driverName).newInstance();
conn = DriverManager.getConnection(url, dbuserName, dbpassword);
System.out.println("Database connection established");
System.out.println("DONE");
} catch (Exception e) {
e.printStackTrace();
} finally {
if (conn != null && !conn.isClosed()) {
System.out.println("Closing Database Connection");
conn.close();
}
if (session != null && session.isConnected()) {
System.out.println("Closing SSH Connection");
session.disconnect();
}
}
}
}
Подробности