我正在尝试连接MySQL服务器“通过SSH”,但我一直收到错误。
这是代码。
int lport =
String host = " "
String rhost = " ";
int rport =
String user = " ";
String dbuserName = " ";
String dbpassword = " ";
String dburl = " ";
String driverName = "com.mysql.jdbc.Driver";
String driverName2 = "org.gjt.mm.mysql.Driver";
session = null;
con = null;
try {
final java.util.Properties config = new java.util.Properties();
config.put("StrictHostKeyChecking", "no");
final JSch jsch = new JSch();
session = jsch.getSession(user, host, 22);
jsch.addIdentity("C:\\Users\\WAlnadi\\workspace\\AKCAPIAutomation\\lib\\FARM-8-9df40547.us-east-1.pem");
session.setConfig(config);
session.connect();
session.setPortForwardingL(rport, host, rport);
System.out.println("Connected through SSH");
final 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("com.mysql.jdbc.Driver").newInstance();
//String url = "jdbc:mysql://localhost:" + rport + "/" + db;
con = DriverManager.getConnection(dburl, dbuserName, dbpassword);
System.out.println("Mysql Database connection established");
System.out.println("DONE");
return true;
} catch (final Exception e) {
e.printStackTrace();return false;
} finally {
if (con != null && !con.isClosed()) {
System.out.println("Closing Database Connection");
con.close();
}
if (session != null && session.isConnected()) {
System.out.println("Closing SSH Connection");
session.disconnect();
}
}
}
和错误:
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
成功发送到服务器的最后一个数据包是0毫秒前。驱动程序未收到来自服务器的任何数据包。