MariaDB telah menjadi salah satu sistem manajemen basis data relasional (RDBMS) paling populer di dunia. Sebagai fork dari MySQL yang digagas oleh pengembang aslinya, MariaDB menawarkan performa tinggi, skalabilitas, dan komitmen kuat terhadap sumber terbuka.
Bagi seorang pengembang, administrator sistem, atau DevOps, menguasai management database MariaDB adalah keterampilan fundamental.
Mengapa Memilih MariaDB?
Sebelum masuk ke teknis, penting untuk memahami nilainya. MariaDB tidak hanya gratis, tetapi juga dilengkapi dengan storage engine yang lebih beragam (seperti Aria, ColumnStore, dan MyRocks), fitur keamanan yang ditingkatkan, dan optimasi performa yang seringkali melampaui MySQL.
Kemampuannya sebagai drop-in replacement MySQL membuat migrasi menjadi sangat mulus. Banyak perusahaan besar, dari Google hingga Wikipedia, mempercayakan beban kerja kritis mereka pada MariaDB, menjadikan keahlian management database MariaDB sangat dicari di industri.
Install MariaDB
Menginstal MariaDB yang berasal dari default repository Ubuntu.
sudo apt install mariadb-server -y
Mengamankan MariaDB
sudo mariadb-secure-installation
Switch to unix_socket authentication [Y/n] ENTER Change the root password? [Y/n] ENTER New password: MASUKAN PASSWORD USER ROOT Re-enter new password: ULANGI MASUKAN PASSWORD USER ROOT Remove anonymous users? [Y/n] ENTER Disallow root login remotely? [Y/n] ENTER Remove test database and access to it? [Y/n] ENTER Reload privilege tables now? [Y/n] ENTER
Mengelola Database
Login database shell MariaDB
sudo mariadb -u root -p
Membuat database baru
CREATE DATABASE NAMA_DATABASE;
Menghapus database
DROP DATABASE NAMA_DATABASE;
Menampilkan database
SHOW DATABASES;
Mengelola User
Membuat user baru
CREATE USER 'NAMA_USER'@'localhost' IDENTIFIED BY 'PASSWORD';
Keterangan:
- NAMA_USER adalah nama user yang akan dibuat.
- localhost menunjukkan bahwa user ini hanya bisa mengakses database dari host yang sama dengan MariaDB server.
- PASSWORD yang ingin digunakan oleh user ini.
Membuat user baru sekaligus memberikan hak akses penuh ke nama_db.
GRANT ALL PRIVILEGES ON NAMA_DATABASE.* TO 'NAMA_USER'@'localhost' IDENTIFIED BY 'PASSWORD';
Keterangan:
- GRANT ALL PRIVILEGES: Perintah ini memberikan semua hak istimewa yang tersedia pada database kepada user. Ini termasuk hak istimewa seperti SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, dan lain-lain.
- ON NAMA_DATABASE.*: Ini menentukan nama database dan tabel mana yang akan diberikan akses oleh pengguna. Tanda bintang (*) digunakan untuk memberikan akses ke semua tabel dalam database yang ditentukan.
- TO ‘NAMA_USER’@’localhost’: Ini menentukan pengguna mana yang akan diberikan hak istimewa pada database. Pengguna yang ditentukan dalam perintah di atas adalah ‘NAMA_USER‘ dan akan terhubung melalui localhost.
- IDENTIFIED BY ‘PASSWORD’: Ini menentukan kata sandi yang digunakan oleh pengguna untuk mengakses database. Dalam perintah di atas, kata sandi yang digunakan adalah ‘PASSWORD‘.
Memuat ulang table hak akses.
FLUSH PRIVILEGES;
Mengubah password user dengan perintah SET.
SET PASSWORD FOR 'NAMA_USER'@'localhost' = PASSWORD('PASSWORD_BARU');
Mengubah password user dengan perintah ALTER USER.
ALTER USER 'NAMA_USER'@'localhost' IDENTIFIED BY 'PASSWORD_BARU';
Menghapus hak akses user ke database.
REVOKE ALL PRIVILEGES ON NAMA_DATABASE.* FROM 'NAMA_USER'@'localhost';
Menghapus user.
DROP USER 'NAMA_USER'@'localhost;
Memindahkan Direktori Data
Memindahkan direktori data MariaDB dapat dilakukan dengan beberapa tujuan, di antaranya:
- Kapasitas penyimpanan yang lebih besar: Memindahkan direktori data MariaDB ke lokasi penyimpanan yang lebih besar dapat membantu meningkatkan kapasitas penyimpanan untuk database yang lebih besar.
- Kebutuhan untuk meningkatkan kinerja: Dalam beberapa kasus, memindahkan direktori data ke lokasi yang lebih cepat atau lebih efisien dapat membantu meningkatkan kinerja database.
- Pemulihan bencana: Memindahkan direktori data MariaDB dapat membantu dalam situasi pemulihan bencana. Dengan memindahkan direktori data ke lokasi yang aman, dapat membantu memulihkan database jika terjadi kerusakan pada sistem atau hardware.
- Penggantian perangkat keras: Jika perangkat keras yang digunakan untuk menyimpan data MariaDB akan diganti atau di-upgrade, memindahkan direktori data dapat membantu menghindari kehilangan data atau masalah lain yang mungkin terjadi selama proses penggantian.
Langkah-langkah memindahkan direktori data MariaDB
Pertama kita harus mengetahui lokasi direktori data MariaDB saat ini. Menampilkan lokasi direktori data (datadir) melalui MariaDB shell.
select @@datadir;
Output Perintah:
+-----------------+ | @@datadir | +-----------------+ | /var/lib/mysql/ | +-----------------+
Membuat direktori baru untuk penyimpanan data, misal di /data-mariadb
sudo mkdir /data-mariadb
Menghentikan service mariadb.
sudo systemctl stop mariadb
Menyalin direktori data ke direktori baru dengan command rsync
sudo rsync -avzh /var/lib/mysql/ /data-mariadb
Membuka file konfigurasi alias apparmor.
sudo nano /etc/apparmor.d/tunables/alias
Membuat alias /var/lib/mysql di apparmor, masukan script dibawah.
alias /var/lib/mysql -> /data-mariadb,
Restart service apparmor.
sudo systemctl restart apparmor
Membuka file konfigurasi MariaDB.
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
Mengubah konfigurasi datadir.
datadir = /data-mariadb
Menjalankan kembali service mariadb.
sudo systemctl start mariadb
Menguji hasil konfigurasi dengan cara menampilkan kembali datadir apakah sudah berubah.
select @@datadir;
+----------------+ | @@datadir | +----------------+ | /data-mariadb/ | +----------------+
Remote Access MariaDB
Remote access pada MariaDB adalah kemampuan untuk mengakses MariaDB database dari jarak jauh (remote access) melalui jaringan, bukan hanya melalui server itu sendiri.
Contoh kasus penerapan remote access yang sering dilakukan yaitu ketika kita ingin memisahkan sumber daya komputasi antara application server dengan database server, keduanya di-deploy pada server yang terpisah.
Database server harus dikonfigurasi agar application server dapat mengakses database secara remote.
Pada kasus seperti ini, metode remote access yang diterapkan dengan membuka port MariaDB agar dapat diakses dari luar.

Contoh kasus lain yaitu developer ingin mengakses database yang berada di server dari komputer yang dipakainya secara aman.
Biasanya untuk kebutuhan pengembangan aplikasi atau troubleshooting. Untuk kasus ini, metode remote access yang diterapkan yaitu melalui SSH tunnel.

Dalam hal pertimbangan keamanan, sebaiknya remote access pada database hanya diaktifkan jika diperlukan, dan dilakukan dengan pengaturan yang tepat untuk mencegah akses tidak sah ke database.
Remote Access via SSH Tunnel
SSH tunneling adalah metode untuk mengamankan dan mengarahkan lalu lintas jaringan melalui protokol Secure Shell (SSH). Ini memungkinkan kita untuk membuat “tunnel” aman antara dua mesin yang terhubung melalui jaringan, seperti internet. SSH tunnel menyediakan keamanan tambahan dengan mengenkripsi data yang dikirim melalui jaringan.
Jenis SSH tunnel yang digunakan yaitu Local Port Forwarding. Dengan Local Port Forwarding, kita dapat mengarahkan lalu lintas dari port lokal di mesin pengirim ke mesin tujuan melalui SSH. Ini memungkinkan kita untuk mengakses layanan di mesin tujuan melalui mesin pengirim.
SSH tunnel digunakan untuk memastikan keamanan dan enkripsi lalu lintas data antara komputer pengguna dengan komputer server MariaDB.
Kelebihan metode ini, tidak perlu membuka port MariaDB 3306 untuk remote access dari luar, sehingga lebih aman.
SSH Tunnel untuk MariaDB di Windows
MySQL Workbench adalah aplikasi berbasis GUI yang berfungsi untuk mengelola database MySQL yang juga dapat digunakan untuk mengelola database MariaDB.
Aplikasi ini tersedia untuk sistem operasi Windows, macOS, dan Linux.
Sebelum membuat koneksi SSH tunnel untuk MariaDB dengan menggunakan MySQL Workbench, terlebih dahulu kita harus SSH Key (private key dan public key) dengan format OpenSSH menggunakan powershell.
ssh-keygen
Output: Generating public/private ed25519 key pair. Enter file in which to save the key (C:\Users\USERNAME/.ssh/id_ed25519): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in C:\Users\USERNAME/.ssh/id_ed25519 Your public key has been saved in C:\Users\USERNAME/.ssh/id_ed25519.pub The key fingerprint is: SHA256:HMGVs193tEUCGGAyjG86bByy3Hjm6Qv12lQ8njANBcY USERNAME@HOSTNAME The key's randomart image is: +--[ED25519 256]--+ | +=o=oo+.....| | ..E=..+ .o| | .. . o .o| | . . o= .. ..o| | . B.+o S . . ..| | +.X. = o . | | .= oo o | | .o+ | | .+.. | +----[SHA256]-----+
Copy public key dari windows (PowerShell) ke VPS server linux.
type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh USER@REMOTE-HOST "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
Setelah selesai copy public key, tahap selanjutnya configuration ssh server.
SSH Tunnel MariaDB dengan MySQL Workbench
- Download MySQL Workbench versi Windows di dev.mysql.com, lalu install.
- Jalankan MySQL Workbench, lalu klik tanda + yang terletak di samping MySQL Connections untuk membuat koneksi baru ke database server.
- Pada Connection Name, masukkan nama untuk koneksinya missal mariadb-server.
- Pada Connection Method, pilih Standard TCP/IP over SSH untuk koneksi ke database server melalui SSH tunnel.
- Pada SSH Hostname, masukkan IP-PUBLIC-VPS:Port-SSH.
- Pada SSH Username, masukkan username yang digunakan untuk login SSH.
- Pada SSH Key File, klik tombol … untuk browse private key OpenSSH.
- Pada MySQL Hostname, masukkan 127.0.0.1.
- Pada MySQL Server Port, masukkan 3306.
- Pada Username, masukkan username untuk login database, bisa menggunakan root.
- Pada Password, klik tombol Store in Vault … untuk memasukan password.
- Klik Test Connection untuk menguji koneksinya.

- Jika berhasil, ditampilkan window pesan peringatan Connection Warning. Pesan ini tampil karena database server yang terdeteksi dianggap tidak kompatibel dengan MySQL Workbench yang dikembangkan dan diuji untuk MySQL Server versi 5.6, 5.7, dan 8.0.
- Jika berhasil membuat koneksi, ditampilkan window pesan berhasil, Successfully made the MySQL Connection. Klik OK.
- Klik OK untuk menyimpan koneksinya.
- Klik dua kali nama MySQL Connection yang telah dibuat untuk mengakses database server.</li>
Backup Basis Data MariaDB
Backup database merupakan langkah penting dalam menjaga keamanan dan ketersediaan data. Bertujuan untuk melindungi data yang tersimpan di server dari kehilangan atau kerusakan akibat kegagalan perangkat keras, kegagalan perangkat lunak, serangan malware, atau kesalahan manusia.
Dengan membuat backup secara teratur, data dapat dipulihkan dengan cepat dan mudah jika terjadi kehilangan atau kerusakan pada database.
Backup juga dapat digunakan untuk mengembalikan database ke kondisi sebelumnya jika terjadi kesalahan pada perubahan atau penghapusan data yang tidak disengaja.
Untuk melakukan backup (export) database MariaDB menggunakan tool mysqldump, hasil backup dalam format file .sql .
Format perintah backup database.
mysqldump --single-transaction --skip-lock-tables -u USERNAME -p NAMA_DATABASE > BACKUP_NAMA_DATABASE.sql
Keterangan
- –single-transaction: Opsi ini memastikan bahwa selama proses backup, hanya satu transaksi yang digunakan. Ini berguna jika kita ingin melakukan backup database tanpa mengganggu transaksi yang sedang berjalan. Ini secara khusus berguna untuk database engine InnoDB, karena memungkinkan backup konsisten bahkan jika ada transaksi yang sedang berjalan.
- –skip-lock-tables: Opsi ini menghindari penguncian tabel saat melakukan backup. Memastikan ketersediaan database selama proses backup.
Menambahkan tanggal melakukan backup pada nama file backup, misalnya BACKUP_NAMA_DATABASE_27042026.sql.
mysqldump --single-transaction --skip-lock-tables -u USERNAME -p NAMA_DATABASE > BACKUP_NAMA_DATABASE_$(date +%d%m%Y).sql
Mengkompresi file backup dengan format .gz.
mysqldump --single-transaction --skip-lock-tables -u USERNAME -p NAMA_DATABASE | gzip > BACKUP_NAMA_DATABASE_$(date +%d%m%Y).sql.gz
Restore Database MariaDB
Restore database bertujuan untuk mengembalikan data yang telah di-backup sebelumnya ke dalam database MariaDB yang rusak, hilang, atau telah dihapus.
Dengan melakukan restore, data yang sebelumnya telah disimpan dan ter-backup dapat diambil kembali dan ditempatkan ke dalam database MariaDB untuk dapat digunakan kembali seperti semula.
Dalam beberapa kasus, restore database MariaDB juga dapat digunakan untuk memindahkan data dari satu server MariaDB ke server MariaDB yang lainnya.
Misalnya, ketika ingin memindahkan database dari lingkungan pengembangan ke lingkungan produksi, kita dapat menggunakan file backup database tersebut untuk melakukan restore pada server produksi.
Format perintah restore database.
mariadb -u USERNAME -p NAMA_DATABASE < BACKUP_NAMA_DATABASE.sql
Kesimpulan
Menguasai management database MariaDB adalah perjalanan yang dimulai dengan fondasi yang kuat.
Dari instalasi, security, hingga memahami memori dan konfigurasi logging, setiap langkah membangun infrastruktur yang stabil, aman, dan berperforma tinggi.
Dunia database sangat dalam, tetapi dengan menguasai dasar-dasar ini, kamu telah mempunyai fondasi yang kokoh untuk menjadi seorang administrator MariaDB yang andal.

