Cara Praktis Mengakses Database yang Berjalan di Linux WSL

  • 3 min read
  • Agu 16, 2024
Cara Praktis Mengakses Database yang Berjalan di Linux WSL

Cara praktis dan mudah mengakses database seperti MySQL, MongoDB, PostgreSQL atau lainnya yang berjalan di Linux dari sistem operasi Windows menggunakan DBeaver. Ini saya tulis sebagai catatan sekaligus informasi untuk teman-teman khususnya yang masih baru menggunakan Linux WSL.

Walaupun saat tulisan ini dipublish sedang populer sekali menggunakan Docker. Tapi sepertinya masih banyak juga yang menginstal RDBMS (Relation Database Management System) langsung di komputer. Penulis disini mencontohkan penggunaan RDMS MySQL yah, silahkan disimak.

Cara mengakses database MySQL yang berjalan di Linux

Untuk membuka database MySQL yang berjalan di Linux WSL (Windows Subsystem for Linux) menggunakan DBeaver di Windows, ikuti langkah-langkah berikut:

Langkah 1: Pastikan MySQL Berjalan di WSL

Pastikan MySQL server berjalan di WSL. Kebetulan saya menggunakan Linux Ubuntu. Kamu bisa memeriksanya dengan perintah:

sudo service mysql status

Jika MySQL tidak berjalan, Kamu bisa memulainya dengan perintah:

sudo service mysql start

Langkah 2: Temukan Alamat IP WSL

Cari alamat IP dari WSL menggunakan perintah berikut di terminal WSL:

hostname -I

Catat salah satu alamat IP yang ditampilkan adalah alamat IP yang dapat digunakan untuk mengakses MySQL dari Windows di langkah selanjutnya.

Langkah 3: Konfigurasi MySQL untuk Mengizinkan Koneksi dari Luar (Opsional)

Secara default, MySQL mungkin dikonfigurasi untuk hanya menerima koneksi dari localhost. Kamu mungkin perlu mengubah konfigurasi agar bisa diakses dari jaringan.

Edit file konfigurasi MySQL my.cnf yang biasanya berada di /etc/mysql/my.cnf atau /etc/mysql/mysql.conf.d/mysqld.cnf:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Cari baris yang berisi bind-address dan ubah menjadi 172.20.160.53 sesuai hostname yang sebelumnya kita catat untuk mengizinkan koneksi dari semua alamat IP:

bind-address = 172.20.160.53

Simpan perubahan dan restart MySQL:

sudo service mysql restart

Langkah 4: Mengatur Firewall Windows (Opsional)

Jika Kamu mengalami masalah koneksi, pastikan firewall Windows tidak memblokir koneksi ke port MySQL (default: 3306).

Langkah 5: Menghubungkan ke MySQL dari DBeaver di Windows

  1. Buka DBeaver di Windows.
  2. Klik tombol New Database Connection atau Database > New Connection.
  3. Pilih MySQL sebagai tipe database dan klik Next.
  4. Masukkan detail koneksi:
    • Host: Alamat IP dari WSL yang ditemukan sebelumnya.
    • Port: 3306 (atau port lain jika Kamu mengkonfigurasi MySQL untuk menggunakan port yang berbeda).
    • Database: Nama database yang ingin Kamu akses.
    • Username: Nama pengguna MySQL.
    • Password: Kata sandi MySQL.
  5. Klik tombol Test Connection untuk memastikan koneksi berhasil.
  6. Jika koneksi berhasil, klik Finish untuk menyimpan koneksi dan mulai mengakses database.

Contoh Pengaturan Koneksi di DBeaver

  • Host: 172.20.160.53 (alamat IP WSL)
  • Port: 3306
  • Database: pgd_crawl
  • Username: username
  • Password: mypassword

Dengan mengikuti langkah-langkah ini, Kamu seharusnya bisa mengakses MySQL yang berjalan di WSL dari DBeaver di Windows.

Step lanjutan cara mudah mengakses Database MySQL Linux WSL dari Windows

Muncul pesan public key retrieval is not allowed pada DBeaver

Pesan kesalahan “public key retrieval is not allowed” biasanya terjadi karena pengaturan keamanan MySQL. Untuk mengatasi masalah ini, Kamu bisa menambahkan parameter allowPublicKeyRetrieval=true ke string koneksi JDBC.

Berikut langkah-langkah untuk mengkonfigurasi DBeaver agar mengatasi masalah ini:

Cara 1: Buka DBeaver dan Edit Koneksi MySQL

  1. Buka DBeaver.
  2. Klik kanan pada koneksi MySQL Kamu di Navigator dan pilih Edit Connection.
  3. Klik pada tab Driver Properties.
  4. Klik tombol + (Add Property) untuk menambahkan properti baru.
  5. Masukkan allowPublicKeyRetrieval sebagai nama properti dan true sebagai nilai.
  6. Klik OK untuk menyimpan properti.

Klik tombol Test Connection untuk menguji apakah koneksi sekarang berhasil.
Jika koneksi berhasil, klik Finish untuk menyimpan perubahan.

Cara 2 : Pastikan SSL Dinonaktifkan (Jika Diperlukan)

Jika Kamu tidak menggunakan SSL untuk koneksi Kamu, pastikan parameter useSSL=false juga ditambahkan ke URL koneksi.

Dengan mengikuti langkah-langkah ini, Kamu seharusnya dapat mengatasi kesalahan “public key retrieval is not allowed” di DBeaver dan berhasil terhubung ke database MySQL yang berjalan di WSL.

Cara Alternatif: Modifikasi String Koneksi (Jika Diperlukan)

Jika menambahkan properti di DBeaver tidak berhasil, Kamu dapat mengubah string koneksi langsung.

  1. Klik pada tab Connection settings di dalam jendela Edit Connection.
  2. Tambahkan parameter allowPublicKeyRetrieval=true pada akhir URL koneksi Kamu.

Contoh string koneksi yang dimodifikasi:

jdbc:mysql://your_server_ip:3306/your_database?allowPublicKeyRetrieval=true&useSSL=false