Database

Cara Instalasi Database MariaDB di Ubuntu 24.04 LTS

Cara Instalasi Database MariaDB di Ubuntu 24.04 LTS
Daftar Isi

MariaDB adalah fork dari MySQL yang dikembangkan oleh kontributor asli MySQL setelah akuisisi Oracle, tetap open source penuh dan drop-in compatible dengan MySQL di level protocol maupun query syntax. Panduan ini menjelaskan instalasi MariaDB Server di Ubuntu 24.04 LTS menggunakan paket qVM-2, mulai dari instalasi package, hardening lewat mysql_secure_installation, pembuatan database dan user pertama, sampai konfigurasi supaya bisa diakses remote secara aman.

Pengenalan

MariaDB memakai storage engine InnoDB sebagai default sejak beberapa major version terakhir — mendukung transaction, row-level locking, dan foreign key constraint, cocok untuk kebanyakan workload OLTP (Online Transaction Processing). Di Ubuntu 24.04 LTS, package mariadb-server dari repository resmi Ubuntu sudah cukup up-to-date untuk kebutuhan production umum, tanpa perlu menambahkan repository pihak ketiga.

Secara default, instalasi fresh MariaDB hanya listen di 127.0.0.1 (localhost) dan otentikasi root memakai unix_socket plugin — artinya cuma user Linux root yang bisa login sebagai MariaDB root tanpa password, dan koneksi dari luar server otomatis ditolak. Kondisi yang aman by default, tapi perlu disesuaikan kalau aplikasi Anda perlu koneksi remote (misalnya aplikasi di server terpisah).

Ubuntu 24.04 LTS dipilih sebagai basis OS karena mendapat dukungan resmi (security update dan bug fix) hingga April 2029. Panduan ini ditujukan untuk qVM yang baru saja di-deploy (fresh install), belum ada konfigurasi tambahan apa pun.

Persyaratan

Software

  • Ubuntu 24.04 LTS, kondisi fresh install
  • Akses root atau user dengan hak sudo
  • Koneksi internet untuk mengunduh package dari repository Ubuntu
  • SSH client pada sisi lokal untuk remote ke qVM

Hardware / Spesifikasi VPS qVM

Panduan ini menggunakan paket qVM-2, dengan spesifikasi:

  • vCPU: 1 core
  • RAM: 2 GiB
  • Storage: 50 GiB

RAM 2 GiB sudah cukup untuk database dengan working set kecil hingga menengah. Untuk workload yang lebih berat, parameter seperti innodb_buffer_pool_size bisa disesuaikan lebih lanjut sesuai kebutuhan traffic aplikasi.

Tahapan

1. Update dan Upgrade OS Ubuntu 24.04 LTS

bash
apt update && sudo apt upgrade -y

2. Instalasi MariaDB Server

bash
apt install mariadb-server -y

SCR-20260818-kjhe

Aktifkan agar berjalan otomatis saat qVM di-reboot, lalu periksa statusnya:

bash
systemctl enable mariadb
systemctl status mariadb

Verifikasi versi yang terpasang:

bash
mariadb --version

SCR-20260818-kjoz

3. Amankan Instalasi (mysql_secure_installation)

Script ini adalah baseline hardening wajib untuk instalasi baru — mengatur password root, menghapus anonymous user, menonaktifkan remote login untuk root, dan menghapus database test default.

bash
mysql_secure_installation

SCR-20260818-kjxj

Ikuti prompt: set password root, jawab Y untuk seluruh opsi hardening (remove anonymous users, disallow root login remotely, remove test database, reload privilege tables).

4. Membuat Database dan User Pertama

Login sebagai root:

bash
mysql -u root -p

Buat database dan user aplikasi dengan privilege terbatas (praktik yang benar: jangan pernah pakai user root untuk koneksi aplikasi):

sql
CREATE DATABASE app_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'app_user'@'localhost' IDENTIFIED BY 'PasswordKuatAnda';
GRANT ALL PRIVILEGES ON app_db.* TO 'app_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

SCR-20260818-kkiq

Charset utf8mb4 (bukan utf8 biasa) penting untuk dukungan penuh Unicode termasuk emoji dan karakter 4-byte lain — utf8 bawaan MySQL/MariaDB sebenarnya cuma mendukung karakter hingga 3 byte.

5. Konfigurasi Remote Access (Opsional)

qVM tidak memakai private network antar-instance — setiap qVM cuma punya IP Publik, jadi akses remote ke database otomatis berarti trafik lewat internet publik. qVM juga tidak mengaktifkan firewall (ufw) secara default — seluruh port yang listen otomatis bisa diakses dari internet. Konsekuensinya, grant user yang dibatasi per-IP jadi satu-satunya lapisan proteksi di titik ini, bukan sekadar praktik tambahan — pastikan langkah di bawah benar-benar diikuti, jangan pernah pakai wildcard %.

Lewati tahap ini apabila aplikasi Anda berjalan di server yang sama (koneksi via localhost sudah cukup dan jauh lebih aman). Lanjutkan hanya apabila aplikasi benar-benar berjalan di qVM terpisah.

Edit bind-address supaya MariaDB menerima koneksi lewat IP Publik qVM ini, bukan cuma localhost:

bash
vim /etc/mysql/mariadb.conf.d/50-server.cnf

Ubah baris:

text
bind-address = 127.0.0.1

Menjadi IP Publik qVM (bukan 0.0.0.0, supaya MariaDB tidak listen di semua interface tanpa terkontrol):

text
bind-address = 161.248.116.110

Buat user yang cuma boleh konek dari IP Publik client tertentu (bukan wildcard %, yang berarti dari mana saja di internet):

sql
CREATE USER 'app_user'@'198.51.100.20' IDENTIFIED BY 'PasswordKuatAnda';
GRANT ALL PRIVILEGES ON app_db.* TO 'app_user'@'198.51.100.20';
FLUSH PRIVILEGES;

Ganti 198.51.100.20 dengan IP Publik qVM aplikasi yang akan konek. Apabila ada beberapa client, ulangi CREATE USER/GRANT untuk tiap IP Publik yang berbeda — MariaDB akan menolak koneksi dari IP mana pun yang tidak match dengan grant yang terdaftar, meskipun port 3306 bisa dijangkau dari mana saja di internet.

Restart service agar konfigurasi diterapkan:

bash
systemctl restart mariadb

Karena koneksi lewat internet publik tanpa firewall di depannya, sangat disarankan mengaktifkan enkripsi TLS untuk trafik antara client dan database — lihat parameter require_secure_transport pada dokumentasi MariaDB untuk mewajibkan seluruh koneksi remote memakai SSL/TLS, bukan cuma opsional.

6. Verifikasi Instalasi

bash
mysql -u app_user -p -h localhost app_db -e "SELECT VERSION();"

SCR-20260818-klca

Apabila query berhasil mengembalikan version string, MariaDB sudah siap dipakai aplikasi.

Kesimpulan

Sampai tahap ini, VPS qVM-2 (1 core, 2 GiB RAM, 50 GiB storage) sudah menjalankan MariaDB Server dengan instalasi yang sudah di-harden lewat mysql_secure_installation, database dan user aplikasi terpisah dari root, serta opsi remote access yang dibatasi ke subnet tertentu — bukan dibuka ke 0.0.0.0. MariaDB pada titik ini sudah siap dipakai untuk kebutuhan aplikasi production sehari-hari.

Mulai Kelola Infrastruktur Cloud Anda

Akun Sequel Anda siap untuk memesan & mengelola layanan cloud.

Bagikan
Apakah artikel ini membantu?