Cara Migrasi Database dari MySQL ke MariaDB Tanpa Error

By | 18 November 2025

Melakukan migrasi database dari MySQL ke MariaDB merupakan langkah umum bagi developer yang membutuhkan performa lebih cepat atau ingin berpindah ke sistem yang sepenuhnya open source. Proses migrasi ini sebenarnya tidak terlalu sulit karena MariaDB memang dirancang kompatibel dengan MySQL. Namun, jika tidak dilakukan dengan benar, Anda bisa mengalami error berupa data hilang, struktur tabel rusak, atau server tidak dapat membaca file dump. Agar hal ini tidak terjadi, artikel ini memberikan panduan migrasi database dari MySQL ke MariaDB secara aman, mudah, dan bebas error.

Mengapa Banyak Developer Migrasi ke MariaDB?

Sebelum migrasi, penting memahami alasan mengapa banyak developer dan perusahaan memilih MariaDB:

1. MariaDB lebih cepat pada query berat

Optimizer baru dan engine tambahan membuat performanya lebih baik pada database besar.

2. Lebih banyak fitur gratis

MariaDB menyediakan banyak fitur enterprise secara gratis—audit log, thread pool, storage engine ekstra.

3. 100% open source

Tidak ada fitur yang dikunci di balik lisensi berbayar.

4. Drop-in replacement MySQL

Migrasi dari MySQL ke MariaDB umumnya sangat mudah dan tidak memerlukan konversi khusus.

Karena alasan inilah migrasi database dari MySQL ke MariaDB kini menjadi pilihan populer di dunia backend.

Persiapan Sebelum Migrasi

Migrasi yang aman harus dimulai dari persiapan matang. Berikut hal penting yang harus dilakukan:

a. Pastikan versi kompatibel

  • Jika MySQL Anda versi 5.7, gunakan MariaDB minimal 10.2.

  • Jika MySQL Anda versi 8.0, gunakan MariaDB minimal 10.6.

Lebih tinggi lebih baik, asalkan stabil.

b. Backup database sebelum migrasi

Jangan pernah migrasi tanpa backup!

Gunakan perintah:

mysqldump -u root -p --all-databases > backup-mysql.sql

c. Catat konfigurasi MySQL sebelumnya

Simpan file konfigurasi my.cnf karena beberapa setting Anda mungkin ingin digunakan juga di MariaDB.

d. Pastikan tidak ada query aktif

Pada server produksi, lakukan maintenance downtime singkat agar tidak ada transaksi tertinggal.

Cara Export Data dari MySQL

Langkah pertama migrasi adalah mengekspor database dari MySQL.

Dump seluruh database:

mysqldump -u root -p --all-databases --routines --events --triggers > mysql-backup.sql

Tambahkan opsi:

  • --routines → untuk function & procedure

  • --events → untuk event scheduler

  • --triggers → untuk trigger

Jika hanya satu database:

mysqldump -u root -p nama_database > db.sql

Pastikan file backup tidak kosong dan ukurannya masuk akal.

Install MariaDB di Server

Setelah backup selesai, waktunya menginstal MariaDB.

Linux (Ubuntu/Debian):

sudo apt update
sudo apt install mariadb-server

CentOS/RHEL:

sudo yum install mariadb-server

Windows:

Unduh installer resmi dari MariaDB Foundation.

Setelah instalasi, jalankan MariaDB:

sudo systemctl start mariadb
sudo systemctl enable mariadb

Lakukan hardening dasar:

mysql_secure_installation

Import Database ke MariaDB Tanpa Error

Setelah MariaDB siap, kini saatnya mengimpor backup dari MySQL.

Import database MySQL ke MariaDB:

mysql -u root -p < mysql-backup.sql

Jika databasenya banyak, proses ini bisa memakan waktu lama, tergantung ukuran data.

Tips agar tidak error saat impor:

1. Abaikan compatibility warning

MySQL 8.0 memiliki beberapa format metadata baru yang kadang tidak dikenali MariaDB.
Solusi: edit file .sql dan hapus baris seperti:

SET @@GLOBAL.GTID_PURGED

2. Jika muncul error “unknown system variable”

Ini berarti ada variabel MySQL yang tidak didukung MariaDB.

Solusi: hapus line yang mengandung variabel tersebut.

3. Pastikan engine yang dipakai kompatibel

Jika Anda menggunakan engine MySQL seperti:

  • MyRocks

  • NDB Cluster

  • InnoDB khusus Oracle

Pastikan engine tersebut tersedia di MariaDB (atau ganti engine).

Mengubah Konfigurasi Agar Sesuai MariaDB

Beberapa konfigurasi MySQL mungkin tidak dapat diterapkan di MariaDB.
Misalnya:

  • mysqlx

  • caching_sha2_password

  • validate_password.policy

Sesuaikan konfigurasi Anda dengan mengecek MariaDB variables:

SHOW VARIABLES;

Jika ingin memindahkan konfigurasi dari MySQL, pindahkan hanya setting yang aman seperti:

  • buffer size

  • max connection

  • log settings

  • character set

Uji Koneksi dan Jalankan Aplikasi

Setelah import berhasil, lakukan pengujian:

a. Login ke MariaDB

mysql -u root -p

b. Cek database

SHOW DATABASES;

c. Jalankan query dasar

Pastikan tidak ada tabel korup atau error.

d. Hubungkan aplikasi Anda

Coba jalankan file PHP atau backend Anda:

$mysqli = new mysqli("localhost", "user", "password", "db");

Jika aplikasi berjalan normal, migrasi database Anda berhasil.

Masalah Umum Saat Migrasi & Cara Mengatasinya

Berikut beberapa error umum dan solusinya:

1. ERROR 1031: Table storage engine mismatch

Sebab: engine MySQL tidak ada di MariaDB.
Solusi: ubah engine tabel.

ALTER TABLE nama ENGINE=InnoDB;

2. ERROR 1118: Row size too large

Sebab: MariaDB memakai ukuran row berbeda.
Solusi: aktifkan penyimpanan row dynamic.

SET GLOBAL innodb_default_row_format = dynamic;

3. ERROR “Unknown collation utf8mb4_0900_ai_ci”

Collation ini hanya ada di MySQL 8.
Solusi: ubah ke utf8mb4_general_ci atau utf8mb4_unicode_ci di file dump SQL.

4. ERROR “GTID mode not supported”

MariaDB tidak mendukung format GTID MySQL.
Solusi: hapus semua baris:

SET @@GLOBAL.GTID_PURGED

Testing Performansi Setelah Migrasi

Lakukan benchmark kecil:

Hitung waktu query:

SET PROFILING=1;
SELECT * FROM tabel_besar;
SHOW PROFILES;

Test concurrency (opsional):

Gunakan tool seperti:

  • sysbench

  • mariadb-bench

Jika MariaDB lebih cepat, berarti migrasi Anda sukses.

Kesimpulan

Migrasi database dari MySQL ke MariaDB sebenarnya sangat mudah jika dilakukan dengan langkah yang benar. Dengan kompatibilitas tinggi, MariaDB menjadi pilihan ideal bagi developer yang menginginkan performa cepat, fitur lengkap, dan lisensi sepenuhnya open source. Persiapan yang matang, backup lengkap, dan penyesuaian kecil pada konfigurasi akan memastikan migrasi berjalan lancar tanpa error.

Dengan mengikuti panduan ini, Anda bisa memindahkan database dari MySQL ke MariaDB secara aman dan efektif, baik untuk aplikasi kecil hingga sistem berskala besar.