Tutorial / 13 Jun 2026 14:00 WIB

Panduan Install MariaDB di Linux Dari Nol

P

Tim Redaksi

POPAJA.com

BAGIKAN:
Panduan Install MariaDB di Linux Dari Nol
- Iklan -
Daftar Isi (Klik untuk melihat)

Kalau kamu lagi nyari database open source yang cepat, stabil, dan kompatibel sama MySQL, jawabannya hampir selalu MariaDB. Database ini bahkan jadi pilihan default di banyak distro Linux populer, mulai dari Ubuntu sampai RHEL.

Artikel ini bakal nemenin kamu dari nol — mulai dari install, konfigurasi keamanan, sampai optimasi performa. Nggak cuma copy-paste perintah, tapi juga penjelasan kenapa tiap langkah itu penting. Yuk, langsung gas!

- Iklan -

Apa Itu MariaDB dan Kenapa Harus Pakai Ini?

MariaDB itu sebenarnya fork langsung dari MySQL yang dikembangkan oleh para pembuat MySQL asli. Jadi dari segi kompatibilitas protocol dan tool klien, hampir identik. Bedanya, MariaDB punya mesin penyimpanan tambahan, fitur-fitur lebih modern, dan model tata kelola yang lebih terbuka.

Di ekosistem Linux, MariaDB berintegrasi sangat baik dengan systemd, package manager bawaan, dan framework keamanan seperti SELinux maupun AppArmor. Nggak heran kalau CMS populer kayak WordPress, WooCommerce, sampai aplikasi web custom banyak yang pakai MariaDB sebagai backend-nya.

Kelebihan utama MariaDB dibanding MySQL:

  • Performa lebih baik untuk query tertentu

    - Iklan -

  • Mesin penyimpanan tambahan (Aria, ColumnStore, dll.)

  • Model pengembangan yang lebih terbuka

  • Lini LTS aktif untuk produksi (10.11, 11.4)

  • Drop-in replacement untuk MySQL di kebanyakan kasus

Sebelum Mulai: Persiapan yang Dibutuhkan

Pastikan kamu punya akses root atau sudo ke server Linux. Selain itu, tentukan juga sumber instalasi yang mau dipakai:

Sumber PaketKelebihanKekurangan
Repositori distro (bawaan)Stabil, integrasi erat, mudahVersi kadang agak lama
Repositori resmi MariaDBVersi lebih baru, fitur lengkapPerlu setup repo tambahan

Kalau kamu cuma butuh database untuk development atau aplikasi ringan, paket dari repositori distro sudah cukup kok. Tapi kalau mau fitur terbaru atau dukungan LTS jangka panjang, lebih baik pakai repo resmi MariaDB.

Langkah 1 — Update Paket Sistem

Sebelum install apapun, selalu update dulu daftar paket di sistem kamu. Ini penting biar nggak ada masalah dependency nantinya.

Untuk Ubuntu/Debian:

sudo apt update && sudo apt upgrade -y

Untuk RHEL/Rocky/AlmaLinux:

sudo dnf update -y

Untuk SUSE/openSUSE:

sudo zypper refresh && sudo zypper update -y

Langkah 2 — Tambah Repositori MariaDB Resmi (Opsional)

Kalau kamu mau pakai versi terbaru dari repo resmi, kamu perlu tambahkan repository-nya dulu. Ini langkah opsional — kalau pakai repo distro, langsung loncat ke langkah berikutnya.

Ubuntu/Debian — tambah repo resmi:

sudo apt install curl gnupg2 -y
curl -fsSL https://mariadb.org/mariadb_release_signing_key.pgp | sudo gpg --dearmor -o /usr/share/keyrings/mariadb-keyring.gpg
echo "deb [arch=amd64,arm64,ppc64el signed-by=/usr/share/keyrings/mariadb-keyring.gpg] https://mirror.mariadb.org/repo/11.4/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/mariadb.list
sudo apt update

RHEL/Rocky/AlmaLinux — tambah repo:

sudo tee /etc/yum.repos.d/MariaDB.repo << 'EOF'
[mariadb]
name = MariaDB
baseurl = https://mirror.mariadb.org/repo/11.4/rhel/$releasever/$basearch
gpgkey = https://mariadb.org/mariadb_release_signing_key.asc
gpgcheck = 1
enabled = 1
EOF
sudo dnf makecache

SUSE/openSUSE:

sudo zypper addrepo --gpgcheck --refresh https://mirror.mariadb.org/repo/11.4/sles/\$releasever/\$basearch mariadb
sudo zypper --gpg-auto-import-keys refresh

Langkah 3 — Install Paket MariaDB Server

Sekarang bagian yang ditunggu-tunggu. Install MariaDB server dengan satu perintah saja:

Ubuntu/Debian:

sudo apt install mariadb-server mariadb-client -y

RHEL/Rocky/AlmaLinux/Amazon Linux:

sudo dnf install MariaDB-server MariaDB-client -y

SUSE/openSUSE:

sudo zypper install mariadb-server mariadb-client -y

Langkah 4 — Aktifkan dan Mulai Layanan MariaDB

Setelah install, aktifkan layanan supaya otomatis jalan saat server boot, lalu start sekarang juga:

sudo systemctl enable mariadb
sudo systemctl start mariadb
sudo systemctl status mariadb

Kalau output-nya active (running), berarti MariaDB sudah berjalan dengan baik. Mantap!

Langkah 5 — Amankan Instalasi MariaDB

Ini langkah yang sering dilewati padahal sangat krusial. MariaDB baru diinstall masih punya beberapa pengaturan default yang kurang aman, seperti password kosong untuk root dan database test yang terbuka.

Jalankan script keamanan bawaan:

sudo mysql_secure_installation

Script ini bakal nanya beberapa hal. Berikut rekomendasi saya:

  1. Switch to unix_socket authentication? — Jawab Yes kalau kamu pakai Ubuntu/Debian (ini bikin root cuma bisa diakses via sudo)

  2. Change the root password? — Jawab No kalau pakai unix_socket, atau Yes kalau distro lain

  3. Remove anonymous users? — Jawab Yes

  4. Disallow root login remotely? — Jawab Yes

  5. Remove test database? — Jawab Yes

  6. Reload privilege tables now? — Jawab Yes

Tips penting: Di Ubuntu/Debian, akun root database menggunakan otentikasi unix_socket. Jadi kamu masuk ke MariaDB pakai sudo mariadb tanpa perlu password. Jangan ubah ini kecuali kamu tahu apa yang kamu lakukan.

Jujur saja, menurut saya membuat user admin terpisah jauh lebih baik daripada ngotot pakai root. Selain lebih aman, permission-nya juga bisa lebih granular. Ini cara bikinnya:

sudo mariadb

CREATE USER 'admin_db'@'localhost' IDENTIFIED 'PasswordKuat123!';
GRANT ALL PRIVILEGES ON *.* TO 'admin_db'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

Kalau butuh user untuk aplikasi tertentu yang konek dari host lain, ganti localhost dengan IP spesifik atau subnet. Misalnya 'appuser'@'192.168.1.%' — ini jauh lebih aman daripada pakai wildcard %.

Langkah 6 — Buat Database dan User untuk Aplikasi

Setelah keamanan dasar beres, saatnya buat database dan user baru untuk aplikasi kamu. Jangan pernah pakai root untuk koneksi aplikasi!

sudo mariadb

-- Buat database
CREATE DATABASE myapp_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

-- Buat user khusus
CREATE USER 'myapp_user'@'localhost' IDENTIFIED 'PasswordAplikasi456!';

-- Berikan hak akses hanya ke database tertentu
GRANT ALL PRIVILEGES ON myapp_db.* TO 'myapp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Cek koneksi dengan user baru:

mariadb -u myapp_user -p myapp_db

Akses Remote: Konfigurasi MariaDB dari Jaringan Lain

Secara default, MariaDB cuma mendengarkan koneksi dari localhost. Kalau aplikasi kamu berada di server lain, kamu perlu buka akses remote. Tapi ingat — aktifkan ini hanya kalau benar-benar diperlukan.

Edit file konfigurasi server (letaknya tergantung distro):

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

Cari baris bind-address dan ubah:

bind-address = 0.0.0.0

Kalau mau lebih aman, ganti 0.0.0.0 dengan IP spesifik server yang perlu akses. Lalu restart MariaDB:

sudo systemctl restart mariadb

Jangan lupa atur firewall juga:

# UFW (Ubuntu/Debian)
sudo ufw allow from 192.168.1.100 to any port 3306
sudo ufw reload

# firewalld (RHEL/Rocky)
sudo firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=192.168.1.100 port port=3306 protocol=tcp accept'
sudo firewall-cmd --reload

Banyak gamer yang mungkin nggak peduli soal ini, tapi kalau kamu manage server production, VPN atau SSH tunnel jauh lebih aman daripada membuka port 3306 ke publik. Percaya deh, pernah dengar cerita server kena brute force karena port database terekspos? Serem.

Tuning Performa MariaDB

Setting default MariaDB sebenarnya sudah cukup oke untuk workload ringan. Tapi kalau aplikasi kamu mulai ramai, tuning beberapa parameter bisa bikin perbedaan signifikan.

Edit file konfigurasi utama:

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

Berikut parameter yang paling sering di-tweak:

ParameterFungsiRekomendasi Awal
innodb_buffer_pool_sizeCache data & indeks InnoDB di RAM50-70% total RAM server
innodb_log_file_sizeUkuran redo log256M - 1G
max_connectionsBatas koneksi simultan150 - 500
query_cache_typeCache query (deprecated di MariaDB baru)OFF (lebih baik fokus ke indeks)
innodb_flush_log_at_trx_commitKeseimbangan performa vs durability1 (produksi), 2 (development)
tmp_table_sizeUkuran tabel sementara di RAM64M - 256M

Contoh konfigurasi untuk server dengan 4GB RAM:

[mysqld]
innodb_buffer_pool_size = 2G
innodb_log_file_size = 512M
innodb_flush_log_at_trx_commit = 1
max_connections = 200
tmp_table_size = 128M
max_heap_table_size = 128M

Setelah edit, restart MariaDB:

sudo systemctl restart mariadb

Catatan: MariaDB menyimpan cache query lebih lama dibanding MySQL, tapi fitur ini sebenarnya tidak disarankan untuk workload modern. Lebih baik fokus ke indeks yang benar, skema yang efisien, dan ukuran buffer yang tepat.

Backup Database: Jangan Sampai Nyesel

Saya nggak bisa cukup tekankan betapa pentingnya backup rutin. Bayangkan kamu sudah setup database berbulan-bulan, aplikasi jalan lancar, tiba-tiba harddisk rusak. Tanpa backup? Bye bye data.

Ada dua cara backup yang umum:

1. mysqldump — Backup Logis (Mudah & Cepat untuk DB kecil-sedang)

mysqldump -u root -p --all-databases --single-transaction > /backup/full_backup_$(date +%Y%m%d).sql

# Restore:
mariadb -u root -p < /backup/full_backup_20241201.sql

2. mariabackup — Backup Fisik (Untuk database besar & hot backup)

# Install dulu kalau belum ada
sudo apt install mariadb-backup -y   # Debian/Ubuntu
sudo dnf install MariaDB-backup -y   # RHEL/Rocky

# Full backup
sudo mariabackup --backup --target-dir=/backup/full --user=root

# Prepare & Restore
sudo mariabackup --prepare --target-dir=/backup/full
sudo mariabackup --copy-back --target-dir=/backup/full --datadir=/var/lib/mysql

Tips wajib:

  • Jadwalkan backup otomatis pakai cron job

  • Simpan backup di luar server (cloud storage, NAS, dll.)

  • Enkripsi file backup kalau datanya sensitif

  • Uji restore secara berkala — backup yang nggak pernah di-restore itu backup yang nggak berguna

Troubleshooting: Masalah Umum yang Sering Muncul

Kadang-kadang hal nggak berjalan mulus. Berikut beberapa masalah yang sering terjadi dan cara mengatasinya:

MariaDB gagal start setelah install:

sudo systemctl status mariadb
sudo journalctl -u mariadb --no-pager -n 50

Cek log-nya — biasanya masalah di konfigurasi atau port 3306 sudah dipakai program lain.

Lupa password root:

Kalau pakai unix_socket (Ubuntu/Debian), cukup jalankan sudo mariadb. Kalau distro lain, kamu perlu restart MariaDB di safe mode lalu reset password.

"Access denied" saat koneksi dari aplikasi:

Pastikan user, host, dan password benar. Cek juga apakah bind-address mengizinkan koneksi dari host yang tepat.

Database terasa lambat:

Jalankan EXPLAIN pada query yang lambat, cek indeks, dan sesuaikan parameter tuning. Jangan asal naikkan max_connections — itu bukan solusi ajaib.

Ringkasan Cepat: Checklist Install MariaDB

  • ✅ Update paket sistem

  • ✅ (Opsional) Tambah repo resmi MariaDB

  • ✅ Install mariadb-server dan mariadb-client

  • ✅ Enable dan start service

  • ✅ Jalankan mysql_secure_installation

  • ✅ Buat database dan user terpisah untuk aplikasi

  • ✅ (Opsional) Konfigurasi akses remote + firewall

  • ✅ Tuning performa sesuai kebutuhan

  • ✅ Setup backup otomatis

  • ✅ Uji restore backup

MariaDB itu database yang powerful dan fleksibel. Cocok banget buat segala skala — dari blog WordPress pribadi sampai aplikasi enterprise. Yang penting, jangan skip langkah keamanan dan backup. Dua hal itu yang bakal selamatkan kamu di situasi kritis nanti.

Selamat ngoding dan happy deploying! 🚀

FAQ Seputar MariaDB di Linux

Q: MariaDB dan MySQL, lebih bagus mana sih?

A: Untuk kebanyakan use case, keduanya bisa dipakai bergantian. Tapi MariaDB biasanya menawarkan performa lebih baik di beberapa skenario, fitur lebih banyak, dan model pengembangan yang lebih terbuka. Kalau kamu mulai project baru, MariaDB adalah pilihan yang sangat solid.

Q: Bisa nggak MariaDB dipakai untuk WordPress?

A: Bisa banget! Justru MariaDB itu drop-in replacement untuk MySQL, jadi WordPress dan WooCommerce langsung kompatibel tanpa perubahan kode. Jutaan situs WordPress di seluruh dunia sudah pakai MariaDB kok.

Q: Bagaimana cara mengecek versi MariaDB yang terinstall?

A: Jalankan perintah mariadb --version di terminal. Atau masuk ke MariaDB lalu ketik SELECT VERSION();.

Q: Apakah aman membuka port 3306 ke publik?

A: Sangat tidak disarankan. Lebih baik gunakan VPN atau SSH tunnel untuk akses remote. Kalau terpaksa harus buka, pastikan firewall hanya mengizinkan IP tertentu dan gunakan password yang sangat kuat.

Q: Berapa RAM minimum untuk MariaDB?

A: Untuk development atau workload ringan, 1GB RAM sudah cukup. Tapi untuk produksi, minimal 2GB dan sesuaikan parameter innodb_buffer_pool_size dengan kapasitas RAM yang tersedia.

- Iklan -