Panduan Install MariaDB di Linux Dari Nol
Daftar Isi (Klik untuk melihat)
- Apa Itu MariaDB dan Kenapa Harus Pakai Ini?
- Sebelum Mulai: Persiapan yang Dibutuhkan
- Langkah 1 — Update Paket Sistem
- Langkah 2 — Tambah Repositori MariaDB Resmi (Opsional)
- Langkah 3 — Install Paket MariaDB Server
- Langkah 4 — Aktifkan dan Mulai Layanan MariaDB
- Langkah 5 — Amankan Instalasi MariaDB
- Langkah 6 — Buat Database dan User untuk Aplikasi
- Akses Remote: Konfigurasi MariaDB dari Jaringan Lain
- Tuning Performa MariaDB
- Backup Database: Jangan Sampai Nyesel
- Troubleshooting: Masalah Umum yang Sering Muncul
- Ringkasan Cepat: Checklist Install MariaDB
- FAQ Seputar MariaDB di Linux
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!
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 Paket | Kelebihan | Kekurangan |
|---|---|---|
| Repositori distro (bawaan) | Stabil, integrasi erat, mudah | Versi kadang agak lama |
| Repositori resmi MariaDB | Versi lebih baru, fitur lengkap | Perlu 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 -yUntuk RHEL/Rocky/AlmaLinux:
sudo dnf update -yUntuk SUSE/openSUSE:
sudo zypper refresh && sudo zypper update -yLangkah 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 updateRHEL/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 makecacheSUSE/openSUSE:
sudo zypper addrepo --gpgcheck --refresh https://mirror.mariadb.org/repo/11.4/sles/\$releasever/\$basearch mariadb
sudo zypper --gpg-auto-import-keys refreshLangkah 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 -yRHEL/Rocky/AlmaLinux/Amazon Linux:
sudo dnf install MariaDB-server MariaDB-client -ySUSE/openSUSE:
sudo zypper install mariadb-server mariadb-client -yLangkah 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 mariadbKalau 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_installationScript ini bakal nanya beberapa hal. Berikut rekomendasi saya:
Switch to unix_socket authentication? — Jawab Yes kalau kamu pakai Ubuntu/Debian (ini bikin root cuma bisa diakses via sudo)
Change the root password? — Jawab No kalau pakai unix_socket, atau Yes kalau distro lain
Remove anonymous users? — Jawab Yes
Disallow root login remotely? — Jawab Yes
Remove test database? — Jawab Yes
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_dbAkses 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.cnfCari baris bind-address dan ubah:
bind-address = 0.0.0.0Kalau mau lebih aman, ganti 0.0.0.0 dengan IP spesifik server yang perlu akses. Lalu restart MariaDB:
sudo systemctl restart mariadbJangan 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 --reloadBanyak 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.cnfBerikut parameter yang paling sering di-tweak:
| Parameter | Fungsi | Rekomendasi Awal |
|---|---|---|
| innodb_buffer_pool_size | Cache data & indeks InnoDB di RAM | 50-70% total RAM server |
| innodb_log_file_size | Ukuran redo log | 256M - 1G |
| max_connections | Batas koneksi simultan | 150 - 500 |
| query_cache_type | Cache query (deprecated di MariaDB baru) | OFF (lebih baik fokus ke indeks) |
| innodb_flush_log_at_trx_commit | Keseimbangan performa vs durability | 1 (produksi), 2 (development) |
| tmp_table_size | Ukuran tabel sementara di RAM | 64M - 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 = 128MSetelah edit, restart MariaDB:
sudo systemctl restart mariadbCatatan: 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.sql2. 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/mysqlTips 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 50Cek 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.