- 1 Cara Tercepat untuk Menginstal MariaDB di Ubuntu (20.04 / 22.04 / 24.04 Didukung)
- 1.1 ① Perbarui Informasi Paket
- 1.2 ② Instal MariaDB
- 1.3 ③ Verifikasi MariaDB Berjalan
- 1.4 ④ Aktifkan Auto-Start (Biasanya Tidak Diperlukan tetapi Disarankan untuk Dikonfirmasi)
- 1.5 ⑤ Sambungkan ke MariaDB dan Verifikasi Operasi
- 1.6 Inisialisasi Keamanan Wajib Setelah Instalasi
- 1.7 Versi MariaDB yang Diinstal oleh Versi Ubuntu
- 1.8 Pemeriksaan Cepat Jika Instalasi Gagal atau Layanan Tidak Mulai
- 2 Memilih Versi MariaDB yang Tepat untuk Versi Ubuntu Anda
- 3 Jika Anda Membutuhkan Versi Terbaru (Tambahkan Repositori Resmi MariaDB)
- 4 Cara Memeriksa Versi MariaDB yang Saat Ini Terinstal
- 5 Panduan Lengkap Penyiapan Keamanan Awal MariaDB (mysql_secure_installation)
- 6 Mengapa Anda Tidak Dapat Masuk sebagai root (Kesalahan Access Denied)
- 7 Cara Mengubah root ke Autentikasi Password (Hanya Jika Diperlukan)
- 8 Cara Memeriksa Metode Autentikasi Saat Ini
- 9 Kesalahan Umum dan Solusinya
- 10 Atur Pengkodean Karakter ke utf8mb4 (Cegah Teks Rusak)
- 11 Tentukan utf8mb4 Saat Membuat Basis Data (Direkomendasikan)
- 12 Buat Pengguna Aplikasi dan Berikan Izin
- 13 Buat Pengguna Akses Jarak Jauh (Hanya Jika Diperlukan)
- 14 Cara Memeriksa Pengguna dan Hak Istimewa Saat Ini
- 15 Kesalahan Izin Umum dan Solusinya
- 16 Cara Mengizinkan Koneksi Jarak Jauh di MariaDB (Perbaikan Saat Akses Eksternal Gagal)
- 17 Daftar Periksa Jika Anda Tidak Dapat Terhubung Secara Eksternal
- 18 Catatan Keamanan Penting
- 19 Pemecahan Masalah Saat MariaDB Gagal Memulai (Error Gagal)
- 20 Ringkasan Penyebab Kesalahan Akses Ditolak
- 21 Peningkatan Kinerja Dasar (Untuk Pemula)
- 22 Frequently Asked Questions (FAQ)
- 23 Conclusion: Using MariaDB Safely on Ubuntu
Cara Tercepat untuk Menginstal MariaDB di Ubuntu (20.04 / 22.04 / 24.04 Didukung)
Jika Anda ingin mulai menggunakan MariaDB di Ubuntu segera, cukup ikuti langkah-langkah di bawah ini untuk menyelesaikan instalasi dan verifikasi startup. Kecuali Anda memiliki alasan khusus, menginstal dari repositori default Ubuntu adalah opsi yang paling aman dan stabil.
① Perbarui Informasi Paket
sudo apt update
sudo apt upgrade -y
② Instal MariaDB
sudo apt install -y mariadb-server mariadb-client
Tidak ada konfigurasi khusus yang diperlukan selama instalasi. Setelah selesai, layanan MariaDB akan mulai secara otomatis.
③ Verifikasi MariaDB Berjalan
sudo systemctl status mariadb
Jika active (running) ditampilkan, MariaDB berjalan dengan baik.
④ Aktifkan Auto-Start (Biasanya Tidak Diperlukan tetapi Disarankan untuk Dikonfirmasi)
sudo systemctl enable mariadb
⑤ Sambungkan ke MariaDB dan Verifikasi Operasi
sudo mysql
Jika Anda melihat prompt berikut, instalasi berhasil:
MariaDB [(none)]>
Untuk keluar, ketik exit;.
Inisialisasi Keamanan Wajib Setelah Instalasi
Segera setelah instalasi, MariaDB hanya memiliki pengaturan keamanan minimal yang diterapkan. Pastikan untuk menjalankan perintah berikut:
sudo mysql_secure_installation
Secara umum, jawaban berikut direkomendasikan:
- Hapus pengguna anonim → Y
- Larang login root dari jarak jauh → Y
- Hapus basis data test → Y
- Muat ulang tabel hak istimewa → Y
Ini menyelesaikan penyiapan lingkungan MariaDB yang aman di Ubuntu.
Versi MariaDB yang Diinstal oleh Versi Ubuntu
- Ubuntu 20.04 → MariaDB seri 10.3
- Ubuntu 22.04 → MariaDB seri 10.6
- Ubuntu 24.04 → MariaDB seri 10.11 (LTS)
Bagi kebanyakan pengguna, versi default Ubuntu sudah cukup. Hanya pertimbangkan repositori resmi jika Anda membutuhkan fitur terbaru.
Pemeriksaan Cepat Jika Instalasi Gagal atau Layanan Tidak Mulai
- Periksa error dengan
sudo systemctl status mariadb - Periksa log detail dengan
sudo journalctl -xe - Periksa ruang disk dengan
df -h
Dalam kebanyakan kasus, masalahnya adalah ruang disk yang tidak cukup atau typo pada file konfigurasi.
Memilih Versi MariaDB yang Tepat untuk Versi Ubuntu Anda
Saat menggunakan MariaDB di Ubuntu, opsi paling aman dalam kebanyakan kasus adalah versi repositori default. Pembaruan keamanan dan kompatibilitas dependensi dipelihara secara otomatis, menjadikannya ideal untuk pemula dan pengguna menengah.
Versi Repositori Default Ubuntu (Disarankan)
- Ubuntu 20.04 → MariaDB seri 10.3
- Ubuntu 22.04 → MariaDB seri 10.6
- Ubuntu 24.04 → MariaDB seri 10.11 (LTS)
Kecuali Anda memiliki kebutuhan khusus, versi ini sepenuhnya praktis untuk penggunaan produksi.
Jika Anda Membutuhkan Versi Terbaru (Tambahkan Repositori Resmi MariaDB)
Jika Anda membutuhkan fitur terbaru, Anda dapat menambahkan repositori resmi MariaDB. Karena apt-key sudah tidak direkomendasikan, ini menggunakan metode signed-by.
① Simpan Kunci GPG
sudo mkdir -p /etc/apt/keyrings
sudo curl -fsSL https://mariadb.org/mariadb_release_signing_key.asc \
| sudo gpg --dearmor -o /etc/apt/keyrings/mariadb.gpg
② Periksa Nama Kode Ubuntu Anda
lsb_release -cs
Contoh:
- 20.04 →
focal - 22.04 →
jammy - 24.04 →
noble
③ Tambahkan Repositori Resmi (Contoh: Seri 10.11)
echo "deb [signed-by=/etc/apt/keyrings/mariadb.gpg] \
https://mirror.mariadb.org/repo/10.11/ubuntu \
$(lsb_release -cs) main" \
| sudo tee /etc/apt/sources.list.d/mariadb.list
④ Perbarui Paket dan Instal
sudo apt update
sudo apt install mariadb-server mariadb-client
Catatan Saat Menggunakan Repositori Resmi
- Anda dapat menggunakan fitur yang lebih baru dibandingkan versi default Ubuntu
- Ada risiko konflik dependensi di masa depan
- Pengujian menyeluruh diperlukan untuk server produksi
Untuk produksi, tentukan dengan jelas apakah Anda mengutamakan stabilitas atau fitur terbaru.
Cara Memeriksa Versi MariaDB yang Saat Ini Terinstal
mysql --version
Contoh:
mysql Ver 15.1 Distrib 10.6.16-MariaDB
Dengan secara eksplisit mengonfirmasi versi, pekerjaan pemecahan masalah dan migrasi menjadi jauh lebih mudah.
Panduan Lengkap Penyiapan Keamanan Awal MariaDB (mysql_secure_installation)
Segera setelah menginstal MariaDB, hanya pengaturan keamanan minimal yang diterapkan. Untuk beroperasi dengan aman, pastikan menjalankan perintah berikut:
sudo mysql_secure_installation
Saat dijalankan, beberapa prompt akan muncul. Dalam kebanyakan kasus, jawaban berikut direkomendasikan.
Jawaban yang Direkomendasikan
- Masukkan password saat ini untuk root: → Tekan Enter (tidak diatur pada run pertama)
- Beralih ke autentikasi unix_socket? → Y (Direkomendasikan pada Ubuntu)
- Ubah password root? → N (Jika menggunakan autentikasi unix_socket)
- Hapus pengguna anonim? → Y
- Larang login root dari jarak jauh? → Y
- Hapus basis data test dan akses ke dalamnya? → Y
- Muat ulang tabel hak istimewa sekarang? → Y
Ini menyelesaikan konfigurasi keamanan dasar.
Mengapa Anda Tidak Dapat Masuk sebagai root (Kesalahan Access Denied)
Pada Ubuntu, pengguna root menggunakan autentikasi unix_socket secara default. Oleh karena itu, login berbasis password standar tidak akan berfungsi.
Contoh Gejala
mysql -u root -p
→ Access denied for user 'root'@'localhost'
Metode Login yang Benar (Default Ubuntu)
sudo mysql
Ini adalah metode yang paling aman dan direkomendasikan.
Cara Mengubah root ke Autentikasi Password (Hanya Jika Diperlukan)
Ubah metode autentikasi hanya jika Anda harus terhubung sebagai root dari alat atau aplikasi eksternal.
① Hubungkan ke MariaDB
sudo mysql
② Ubah Plugin Autentikasi
ALTER USER 'root'@'localhost'
IDENTIFIED WITH mysql_native_password
BY 'StrongPasswordHere';
FLUSH PRIVILEGES;
③ Konfirmasi Perubahan
SELECT user, host, plugin FROM mysql.user;
Jika mysql_native_password ditampilkan, perubahan berhasil.
Cara Memeriksa Metode Autentikasi Saat Ini
sudo mysql -e "SELECT user, host, plugin FROM mysql.user;"
Metode autentikasi utama:
- unix_socket → Default Ubuntu, aman
- mysql_native_password → Autentikasi berbasis password
Kecuali ada alasan khusus, yang paling aman adalah tetap menggunakan autentikasi unix_socket untuk root.
Kesalahan Umum dan Solusinya
ERROR 1698 (28000): Access denied for user ‘root’@’localhost’
- Penyebab: Mencoba login berbasis password
- Solusi: Masuk menggunakan
sudo mysql
mysql_secure_installation Tidak Ditemukan
- Periksa dengan
which mysql_secure_installation - Jika tidak terinstal, jalankan
sudo apt install mariadb-server
Atur Pengkodean Karakter ke utf8mb4 (Cegah Teks Rusak)
Untuk menangani teks multibahasa dan emoji dengan aman di MariaDB, disarankan menggunakan utf8mb4. Tanpa pengaturan ini, Anda mungkin mengalami masalah pengkodean atau kehilangan data.
① Edit File Konfigurasi
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
Tambahkan atau ubah baris berikut di bagian [mysqld]:
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
② Restart MariaDB
sudo systemctl restart mariadb
③ Verifikasi Pengaturan
sudo mysql -e "SHOW VARIABLES LIKE 'character_set%';"
Jika utf8mb4 ditampilkan, konfigurasi berhasil.
Tentukan utf8mb4 Saat Membuat Basis Data (Direkomendasikan)
Jika Anda ingin secara eksplisit menentukan set karakter terlepas dari pengaturan global, tentukan saat pembuatan basis data.
CREATE DATABASE sample_db
CHARACTER SET utf8mb4
COLLATE utf8mb4_general_ci;
Semua tabel yang dibuat dalam basis data ini akan mewarisi utf8mb4.
Buat Pengguna Aplikasi dan Berikan Izin
Di lingkungan produksi, jangan pernah menggunakan pengguna root untuk koneksi aplikasi. Buat pengguna khusus dan berikan hanya hak istimewa minimum yang diperlukan.
.
① Masuk ke MariaDB
sudo mysql
② Buat Pengguna (Koneksi Lokal)
CREATE USER 'app_user'@'localhost'
IDENTIFIED BY 'StrongPasswordHere';
③ Berikan Hak Istimewa Database
GRANT ALL PRIVILEGES
ON sample_db.*
TO 'app_user'@'localhost';
FLUSH PRIVILEGES;
Buat Pengguna Akses Jarak Jauh (Hanya Jika Diperlukan)
Konfigurasikan ini hanya jika Anda perlu terhubung dari server eksternal atau lingkungan cloud.
CREATE USER 'app_user'@'%'
IDENTIFIED BY 'StrongPasswordHere';
GRANT ALL PRIVILEGES
ON sample_db.*
TO 'app_user'@'%';
FLUSH PRIVILEGES;
Catatan: Wildcard “%” memungkinkan koneksi dari host mana saja. Pada lingkungan produksi, menentukan alamat IP tertentu lebih aman.
Cara Memeriksa Pengguna dan Hak Istimewa Saat Ini
SELECT user, host FROM mysql.user;
SHOW GRANTS FOR 'app_user'@'localhost';
Kesalahan Izin Umum dan Solusinya
Akses ditolak untuk pengguna ‘app_user’
- Spesifikasi host yang salah (perbedaan antara localhost dan %)
- FLUSH PRIVILEGES belum dijalankan
- Nama database yang salah saat koneksi
Database tidak dikenal
- Typo nama database
- Tidak ada hak istimewa yang diberikan untuk database target
Cara Mengizinkan Koneksi Jarak Jauh di MariaDB (Perbaikan Saat Akses Eksternal Gagal)
Secara default, MariaDB hanya mengizinkan koneksi lokal. Jika Anda perlu terhubung dari server eksternal atau lingkungan cloud, konfigurasikan pengaturan berikut.
① Ubah bind-address
Edit file konfigurasi:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
Temukan baris berikut:
bind-address = 127.0.0.1
Untuk mengizinkan koneksi eksternal, ubah menjadi:
bind-address = 0.0.0.0
Setelah menyimpan, restart MariaDB:
sudo systemctl restart mariadb
② Buka Port 3306 di Firewall
Jika Anda menggunakan UFW di Ubuntu:
sudo ufw allow 3306
sudo ufw reload
Untuk keamanan yang lebih baik, tentukan alamat IP sumber:
sudo ufw allow from 192.168.1.10 to any port 3306
③ Buat Pengguna Akses Jarak Jauh
CREATE USER 'app_user'@'%'
IDENTIFIED BY 'StrongPasswordHere';
GRANT ALL PRIVILEGES
ON sample_db.*
TO 'app_user'@'%';
FLUSH PRIVILEGES;
Untuk keamanan yang lebih baik:
CREATE USER 'app_user'@'192.168.1.10'
IDENTIFIED BY 'StrongPasswordHere';
Daftar Periksa Jika Anda Tidak Dapat Terhubung Secara Eksternal
1. Apakah MariaDB Berjalan?
sudo systemctl status mariadb
2. Apakah Port 3306 Mendengarkan?
sudo ss -tulnp | grep 3306
Jika menampilkan 0.0.0.0:3306, maka sudah mendengarkan pada semua antarmuka.
3. Jika Menggunakan Lingkungan Cloud (AWS / GCP / VPS)
- Pastikan port 3306 terbuka di grup keamanan
- Pastikan tidak ada firewall eksternal yang memblokir koneksi
4. Penyebab Berdasarkan Pesan Kesalahan
Tidak dapat terhubung ke server MySQL
- Port tertutup
- bind-address tidak diubah
- Firewall memblokir koneksi
Akses ditolak untuk pengguna
- Spesifikasi host pengguna yang salah
- Kata sandi salah
- Hak istimewa tidak diberikan
Koneksi habis waktu
- Pengaturan keamanan sisi cloud
- Masalah routing jaringan
Catatan Keamanan Penting
- Hindari menggunakan “%” di lingkungan produksi
- Gunakan akses VPN bila memungkinkan
- Pertimbangkan mengaktifkan koneksi SSL/TLS
- Jangan pernah mengizinkan login root dari jarak jauh
Pemecahan Masalah Saat MariaDB Gagal Memulai (Error Gagal)
① Periksa Status Layanan
sudo systemctl status mariadb
② Periksa Log Detail
sudo journalctl -xe
sudo cat /var/log/mysql/error.log
③ Penyebab Umum
- Kesalahan sintaks file konfigurasi
- Ruang disk tidak cukup
- Konflik port (MySQL sudah berjalan)
④ Periksa Ruang Disk
df -h
Ringkasan Penyebab Kesalahan Akses Ditolak
- Kata sandi salah
- Spesifikasi host yang salah (perbedaan antara localhost dan %)
- FLUSH PRIVILEGES tidak dijalankan
- Mencoba login standar untuk root (memerlukan
sudo mysql)
Peningkatan Kinerja Dasar (Untuk Pemula)
Advanced tuning is not required, but at minimum, confirm the following settings.
① Enable Slow Query Log
Add the following to 50-server.cnf:
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 2
Restart MariaDB:
sudo systemctl restart mariadb
② Check Index Usage
Slow queries may be missing proper indexes.
EXPLAIN SELECT * FROM sample_table WHERE column_name = 'value';
③ Check Server Resources
top
htop
If memory is insufficient, consider upgrading your server plan.
Frequently Asked Questions (FAQ)
How can I lock the MariaDB version on Ubuntu 22.04?
Use apt-mark hold mariadb-server.
How do I reset the root password if I forgot it?
You can reset it by starting in safe mode and reconfiguring the password. See our dedicated guide for detailed steps.
How do I change the MariaDB port number?
Modify 50-server.cnf to something like port = 3307, then restart the service.
Conclusion: Using MariaDB Safely on Ubuntu
- Using the default repository version is the safest option
- Always run mysql_secure_installation
- Never use root for application connections
- Enable remote access only when necessary
- When troubleshooting, checking logs is the top priority
By following these steps, you can build a secure and production-ready MariaDB environment on Ubuntu.


