lifelong learner — urip iku urup, currently working on accenture.

Cara Akses Database Mysql pada Server secara Remote dengan HeidiSQL dan Mysql Workbench

0
Degananda.com -

 

mysql_logo

Langkah awal sebelum memberikan akses remote terhadap database mysql adalah menyiapkan, menginstall dan mengkonfigurasi database mysql tersebut. Untuk panduan lengkap konfigurasi mysql pada ubuntu server 18.04 dapat melihat pada tautan dibawah ini

Cara Install Mysql pada Ubuntu Server 18.04 LTS

Cara Akses Database Mysql pada Server secara Remote dengan HeidiSQL dan Mysql Workbench

Pada saat fase development atau production akses remote sangatlah penting untuk menunjang kegiatan operation karena tidak semua user memiliki akses pada konsol server secara langsung. Sehingga solusinya adalah menggunakan remote login.

Remote login memiliki resiko terjadinnya sharing username dan password antar user. Hal ini sangat penting untuk dihindari dengan melakukan implementasi pembatasan ip dan kebijakan ketat.

Pada saat mysql terinstall dalam server, secara default, database mysql tersebut hanya akan dapat diakses melalui localhost (bind-address : ip).

mysqld_config_mysql_remote_bind_ip.jpg
secara defaut, mysql hanya dapat diakses secara lokal (127.0.0.1)

Hal ini terlihat pada konfigurasi mysqld.cnf yang terletak pada lokasi dibawah ini

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

pada saat file tersebut dibuka, maka akan jelas terpampang bahwa, server hanya akan mengizinkan koneksi local terhadap database mysql.

Langkah 1 – Mengganti bind-address local ke public ip

bind-address yang terdapat pada mysqld.cnf harus diganti menjadi wildcard(* atau 0.0.0.0) atau ip dari server tertentu (pembatasan akses) agar remote access dapat dilakukan.  Proses penggantian ini akan dilakukan pada file mysqld.cnf. Gunakan perintah dibawah ini untuk memodifikasi isi dari mysqld.cnf

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

kemudian ubah ip yang terdapat pada bind-address dengan wildcard ataupun ip server tertentu.

mysql_bindaddres_remote_0.0.0.0_wildcard.jpg
saat bind address diganti ke 0.0.0.0 artinnya koneksi mysql dapat dilakukan dari mana saja.

Pada ulasan ini, skenarionya adalah membolehkan akses user secara remote dari manapun. Sehingga bind-addressnya akan menjadi seperti berikut ini

bind-address: 0.0.0.0

Untuk menyimpan tekan ctrl + O apabila tidak ingin menyimpan tekan ctrl + X (exit)

langkah 2 – konfigurasi firewall

langkah selanjutnya adalah memperbolehkan akses dari mana saja terhadap mysql yakni pada port 3306 (default port untuk mysql). 

langkah ini dapat menyebabkan masalah keamanan karena port 3306 dapat diakses dari mana saja. Sangat tidak disarankan. Lebih baik memberikan restriksi atau pembatasan pada ip yang dapat mengakses mysql.

perintah yang digunakan untuk memberikan akses pada semua ip

sudo ufw allow 3306

perintah yang digunakan untuk memberikan akses pada ip tertentu.

sudo ufw allow from remote_IP_address to any port 3306

kemudian pastikan user memiliki akses pada ip atau host tertentu. Gunakan perintah dibawah ini untuk memberikan kemampuan agar user tersebut dapat digunakan pada remote server / ip manapun

CREATE USER 'user'@'%' IDENTIFIED WITH mysql_native_password BY '[password_yang_akan_diset]';

ganti [password_yang_akan_diset]‘ menjadi password yang di inginkan, ganti user menjadi user yang di inginkan dan ganti % menjadi ip yang di inginkan apabila hanya memperbolehkan ip address tertentu.

kemudian berikan semua privilages untuk user tersebut

GRANT ALL PRIVILEGES ON *.* TO 'degananda'@'%' WITH GRANT OPTION;

kemudian implementasikan privilages tersebut

FLUSH PRIVILEGES;

langkah 3 – restart mysql

apabila bind_address pada mysqld.cnf dan konfigurasi firewall telah diubah agar dapat diakses oleh ip tertentu atau semua ip maka langkah terahir adalah melakukan restart pada mysql.

sudo systemctl restart mysql

done. Ingat bahwa pemberikan remote akses ini dapat memberikan isu keamanan pada server. gunakan dan atur secara bijak. lebih baik hanya memberi akses pada ip tertentu

langkah 4 – verifikasi

buka mysql workbench ataupun heidisql dan coba login dengan public ip address dari server dengan menggunakan user dan password mysql yang telah terkonfigurasi dengan host “”.

Mysql workbench- akses secara remote mysql

mysql_workbench_remote_access_mysql.jpg
remote akses mysql berhasil dilakukan dengan mysql workbench

Heidi Sql – akses secara remote mysql

mysql_remote_access_heidi.jpg
remote akses mysql berhasil dilakukan dengan heidi SQL

(Visited 16 times, 1 visits today)
Please follow and like us:

Leave a Reply