Cara Mengaktifkan Akses Remote MySQL Database Server

MySQL adalah sistem manajemen basis data relasional open-source (RDBMS). Namanya adalah kombinasi dari “My”, nama anak pendiri Michael Widenius, dan “SQL”, singkatan dari Structured Query Language. Proyek pengembangan MySQL telah membuat kode sumber tersedia berdasarkan persyaratan dari Lisensi Publik Umum GNU, dan juga di bawah berbagai perjanjian kepemilikan.

MySQL dimiliki dan disponsori oleh perusahaan nirlaba tunggal, perusahaan Swedia MySQL AB, yang sekarang dimiliki oleh Oracle Corporation. Untuk penggunaan proprietary, beberapa edisi berbayar tersedia, dan menawarkan fungsionalitas tambahan.

Mengelola database MySQL dari localhost dalam VPS lewat SSH maka ada kalanya kita perlu mengaksesnya dari luar server, istilahnya remote access. Mungkin diperlukan untuk sekedar mengakses MySQL dari lokasi yang terpercaya atau memang VPS tadi adalah didedikasikan sebagai database server. Apapun alasan anda caranya sama.

Pertama kita perlu mengedit file konfigurasi MySQL

nano /etc/mysql/my.cnf

Geser kebawah sampai anda menemukan bagian [mysqld] dan hilangkan simbol komentar (#) di awal kode – kode dibawah:

bind-address        = 127.0.0.1    
bind-address        = 192.168.8.18

Dimana baris pertama adalah setting agar kita bisa masuk ke MySQL dari localhost dan baris kedua menentukan alamat IP servernya.

Setelah itu mari kita berikan hak akses user MySQL agar bisa terhubung dari luar VPSnya:

GRANT ALL PRIVILEGES ON *.* TO 'nama_user'@'%' IDENTIFIED BY 'kata_sandi' WITH GRANT OPTION;

Saya jelaskan dulu beberapa bagian:

  • nama_user merupakan username MySQL yang anda ingin gunakan untuk remote access databasenya.
  • % fungsinya sebagai wildcard, jadi semua alamat IP yang berusaha tersambung akan diijinkan. Ini sebenarnya tidak aman, saya anjurkan kalau anda memiliki alamat IP statis ganti ke alamat IP anda.
  • kata_sandi pastinya adalah password user diatas.

Setelah itu restart MySQL

service mysql restart
masukkan rule berikut ke iptables :
iptables -I INPUT 8 -p tcp -s 192.168.1.30 --sport 1024:65535 -d 192.168.1.29 --dport 3306 -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A OUTPUT -p tcp -s 192.168.1.29 --sport 3306 -d 192.168.1.30 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT

Selanjutnya di state terakhir, drop koneksi keluar maupun masuk.

-A INPUT -j DROP
-A OUTPUT -j DROP

Anda bisa mencoba membuka koneksi ke VPS tersebut dengan eksekusi perintah berikut:

mysql -u nama_user -h 192.168.8.18 -p

Kalau gagal harap anda cek setting firewall di VPS asal dan VPS tujuan, kadang diblokir port default MySQL (3306) kalau tidak dikenali dalam aturannya.

Rich Snippets
Published
Article
Cara Mengaktifkan Akses Remote MySQL Database Server
Ratings
51star1star1star1star1star
Azizul Hakim

Satu-satunya sumber pengetahuan adalah pengalaman

Leave a Reply