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
apt update && sudo apt upgrade -y2. Instalasi MariaDB Server
apt install mariadb-server -y
Aktifkan agar berjalan otomatis saat qVM di-reboot, lalu periksa statusnya:
systemctl enable mariadb
systemctl status mariadbVerifikasi versi yang terpasang:
mariadb --version
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.
mysql_secure_installation
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:
mysql -u root -pBuat database dan user aplikasi dengan privilege terbatas (praktik yang benar: jangan pernah pakai user root untuk koneksi aplikasi):
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;
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:
vim /etc/mysql/mariadb.conf.d/50-server.cnfUbah baris:
bind-address = 127.0.0.1Menjadi IP Publik qVM (bukan 0.0.0.0, supaya MariaDB tidak listen di semua interface tanpa terkontrol):
bind-address = 161.248.116.110Buat user yang cuma boleh konek dari IP Publik client tertentu (bukan wildcard %, yang berarti dari mana saja di internet):
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:
systemctl restart mariadbKarena 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
mysql -u app_user -p -h localhost app_db -e "SELECT VERSION();"
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.
Akun Sequel Anda siap untuk memesan & mengelola layanan cloud.
