Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Conecte-se ao banco de dados MySQL remoto por meio de SSH usando Java


Meu entendimento é que você deseja acessar um servidor mysql rodando em uma máquina remota e escutando, digamos, a porta 3306 através de um túnel SSH.

Para criar um túnel desse tipo da porta 1234 em sua máquina local para a porta 3306 em uma máquina remota usando o cliente ssh da linha de comando, digite o seguinte comando em sua máquina local:
ssh -L 1234:localhost:3306 mysql.server.remote

Para fazer a mesma coisa em Java, você pode usar JSch , uma implementação Java do SSH2. Do seu site:

JSch permite que você se conecte a um servidor sshd e use encaminhamento de porta, encaminhamento X11, transferência de arquivos, etc., e você pode integrar sua funcionalidade em seus próprios programas Java. JSch é licenciado sob licença estilo BSD.

Por exemplo, dê uma olhada em PortForwardingL.java . Depois que a sessão estiver conectada, crie sua conexão JDBC com o MySQL usando algo como jdbc:mysql://localhost:1234/[database] como URL de conexão.