Cara Membuat User Database Baru agar Bisa Diakses dari IP Manapun di MariaDB

Secara default, user database di MariaDB biasanya hanya bisa diakses dari localhost. Namun ada kalanya kita perlu mengakses database dari luar server, misalnya untuk keperluan integrasi aplikasi, monitoring, atau development jarak jauh. Artikel ini membahas langkah-langkah membuat user baru di MariaDB yang bisa diakses dari IP manapun, lengkap dengan konfigurasi tambahan yang sering terlewat.

1. Masuk ke MariaDB

Buka terminal dan login ke MariaDB menggunakan akun root:

mysql -u root -p

2. Buat User Baru dengan Akses dari Semua IP

Gunakan wildcard % pada bagian host untuk mengizinkan koneksi dari IP manapun:

CREATE USER 'nama_user'@'%' IDENTIFIED BY 'password_kuat';

3. Berikan Hak Akses (Privileges)

Untuk memberi akses ke database tertentu saja:

GRANT ALL PRIVILEGES ON nama_database.* TO 'nama_user'@'%';

Atau jika ingin memberi akses ke seluruh database (tidak disarankan untuk server production):

GRANT ALL PRIVILEGES ON *.* TO 'nama_user'@'%';

4. Terapkan Perubahan

FLUSH PRIVILEGES;

5. Keluar dari MariaDB

EXIT;

Konfigurasi Tambahan di Sisi Server

Membuat user saja belum cukup. Ada dua hal lagi yang perlu disesuaikan agar akses dari luar benar-benar berfungsi.

a. Mengubah Bind Address MariaDB

Buka file konfigurasi MariaDB (biasanya berada di /etc/mysql/mariadb.conf.d/50-server.cnf pada Ubuntu/Debian):

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

Cari baris berikut:

bind-address = 127.0.0.1

Ubah menjadi:

bind-address = 0.0.0.0

Setelah itu, restart service MariaDB agar perubahan diterapkan:

sudo systemctl restart mariadb

b. Membuka Port di Firewall

Jika server menggunakan ufw, buka port default MariaDB (3306):

sudo ufw allow 3306/tcp

Catatan Keamanan

Membuka akses database dengan host % (semua IP) memiliki risiko keamanan yang cukup signifikan, terutama jika server memiliki IP publik. Beberapa hal yang perlu diperhatikan:

  • Gunakan password yang kuat dan panjang.
  • Jika memungkinkan, batasi akses ke subnet tertentu, misalnya 'nama_user'@'192.168.1.%', alih-alih membuka akses penuh dengan %.
  • Pertimbangkan menggunakan SSH tunnel atau VPN sebagai alternatif yang lebih aman daripada membuka port 3306 langsung ke publik.
  • Jika akses ini hanya diperlukan sementara untuk keperluan development atau testing, jangan lupa mencabut kembali akses tersebut setelah selesai digunakan.

Konfigurasi ini perlu dilakukan dengan hati-hati, terutama pada server yang menyimpan data sensitif seperti sistem informasi rumah sakit atau aplikasi yang menangani data pribadi pengguna.

إرسال تعليق

Subscribe Youtube Saya Untuk Tutorial Lainnya Subscribe