sql >> Database teknologi >  >> RDS >> Mysql

Opret forbindelse til ekstern MySQL-database via SSH ved hjælp af Java

Min forståelse er, at du vil have adgang til en mysql-server, der kører på en ekstern maskine og lytter på lad os sige port 3306 gennem en SSH-tunnel.

For at oprette en sådan tunnel fra port 1234 på din lokale maskine til port 3306 på en ekstern maskine ved hjælp af kommandolinjen ssh-klient, skal du skrive følgende kommando fra din lokale maskine:

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

For at gøre det samme fra Java kan du bruge JSch , en Java-implementering af SSH2. Fra sin hjemmeside:

JSch giver dig mulighed for at oprette forbindelse til en sshd-server og bruge portvideresendelse, X11-videresendelse, filoverførsel osv., og du kan integrere dens funktionalitet i dine egne Java-programmer. JSch er licenseret under BSD-stil licens.

For et eksempel, tag et kig på PortForwardingL.java . Når sessionen er forbundet, skal du oprette din JDBC-forbindelse til MySQL ved at bruge noget som jdbc:mysql://localhost:1234/[database] som forbindelses-URL.



  1. Kan den Oracle-administrerede driver bruge async/afvent korrekt?

  2. ORA-00054:ressource optaget og anskaffelse med NOWAIT specificeret

  3. Hvordan kan jeg fremskynde en MySQL-forespørgsel med en stor offset i LIMIT-klausulen?

  4. Sådan erklærer du brugerdefineret undtagelse ved hjælp af PRAGMA EXCEPTION_INIT