Pemahaman saya adalah bahwa Anda ingin mengakses server mysql yang berjalan pada mesin jarak jauh dan mendengarkan katakanlah port 3306 melalui terowongan SSH.
Untuk membuat terowongan seperti itu dari port 1234 pada mesin lokal Anda ke port 3306 pada mesin jarak jauh menggunakan klien ssh baris perintah, Anda harus mengetikkan perintah berikut dari mesin lokal Anda:
ssh -L 1234:localhost:3306 mysql.server.remote
Untuk melakukan hal yang sama dari Java, Anda dapat menggunakan JSch , implementasi Java dari SSH2. Dari situs webnya:
JSch memungkinkan Anda untuk terhubung ke server sshd dan menggunakan penerusan porta, penerusan X11, transfer file, dll., dan Anda dapat mengintegrasikan fungsinya ke dalam program Java Anda sendiri. JSch dilisensikan di bawah lisensi gaya BSD.
Sebagai contoh, lihat PortForwardingL.java
. Setelah sesi terhubung, buat koneksi JDBC Anda ke MySQL menggunakan sesuatu seperti jdbc:mysql://localhost:1234/[database]
sebagai URL koneksi.