sql >> Base de Datos >  >> RDS >> Mysql

Conéctese a la base de datos MySQL remota a través de SSH usando Java

Tengo entendido que desea acceder a un servidor mysql que se ejecuta en una máquina remota y escucha, digamos, en el puerto 3306 a través de un túnel SSH.

Para crear un túnel de este tipo desde el puerto 1234 en su máquina local al puerto 3306 en una máquina remota utilizando el cliente ssh de la línea de comandos, debe escribir el siguiente comando desde su máquina local:

ssh -L 1234:localhost:3306 mysql.server.remote

Para hacer lo mismo desde Java, podría usar JSch , una implementación Java de SSH2. Desde su sitio web:

JSch le permite conectarse a un servidor sshd y usar el reenvío de puertos, el reenvío X11, la transferencia de archivos, etc., y puede integrar su funcionalidad en sus propios programas Java. JSch tiene licencia de estilo BSD.

Para ver un ejemplo, eche un vistazo a PortForwardingL.java . Una vez que la sesión se conectó, cree su conexión JDBC a MySQL usando algo como jdbc:mysql://localhost:1234/[database] como URL de conexión.