MariaDB bermula sebagai cabang MySQL dan tetap sepadan selama bertahun-tahun. Sejak itu keduanya cukup menjauh sehingga berpindah di antara mereka adalah sebuah migrasi, bukan sekadar tukar - tetapi untuk aplikasi PHP biasa, keduanya menjalankan skema dan kueri yang sama.
Di mana bedanya cukup berarti
- JSON. MySQL punya tipe JSON sungguhan yang bisa diindeks. MariaDB menyimpan JSON sebagai teks dengan sebuah batasan periksa - mudah dipindah, dan lebih lambat untuk apa pun yang menelisik ke dalam dokumen.
- Replikasi. MySQL memakai GTID, MariaDB punya skemanya sendiri. Keduanya tidak saling menggantikan, jadi sebuah replika tak bisa berasal dari yang lain.
- Fungsi jendela dan CTE. Kini keduanya punya; pemasangan lama dari mana pun mungkin belum.
- Mesin penyimpanan. MariaDB membawa tambahan seperti Aria dan ColumnStore. Hampir tak ada yang membutuhkannya.
Cara tahu yang mana yang Anda punya
mysql -V
mysql -e "SELECT VERSION()"
# 10.x or 11.x is MariaDB; 8.x is MySQL
Berpindah di antara keduanya
Cadangkan lalu impor, jangan sekali-kali menyalin berkas. Direktori datanya tidak sepadan, dan datadir yang disalin menghasilkan basis data yang menyala lalu berkelakuan aneh - jauh lebih buruk daripada yang menolak menyala.
mysqldump --single-transaction --routines --triggers --default-character-set=utf8mb4 db > db.sql
# then import into the other engine and CHECK the row counts per table
Pilih yang mana untuk situs baru
Mana pun yang dibawa distribusi Anda dan didukung penyedia Anda. Selisih kinerjanya untuk aplikasi PHP biasa tenggelam dalam derau; yang jauh lebih berarti adalah kolam penyangga, indeks, dan kuerinya - lihat innodb_buffer_pool_size dan kapan menambah indeks.
Kalau aplikasi Anda menyebut salah satunya secara khusus, pakai yang itu. Masalah kesepadanan jarang terjadi dan menyengsarakan ketika terjadi.
