Migrasi dari MySQL ke MariaDB sering meninggalkan MySQL lama di server. Menghapus MySQL tanpa prosedur yang benar dapat merusak MariaDB, karena beberapa library, konfigurasi, dan file bersama digunakan MariaDB.
Panduan ini membahas cara aman untuk server Linux (Ubuntu/Debian dan CentOS/RHEL), dengan langkah teknis backup, verifikasi, stop service, uninstall paket, cleanup file, reload systemd, dan cek MariaDB. Semua langkah bisa langsung diterapkan di server produksi.
Contents
- 1 1. Persiapan dan Verifikasi MariaDB
- 2 2. Backup Konfigurasi dan Data MariaDB
- 3 3. Identifikasi Paket MySQL yang Terpasang
- 4 4. Stop dan Disable Service MySQL
- 5 5. Remove Paket MySQL Aman
- 6 6. Bersihkan File Konfigurasi MySQL Lama
- 7 7. Reload systemd dan Verifikasi MariaDB
- 8 8. Tips Aman di Server Production
- 9 9. Studi Kasus
- 10 10. Checklist Step-by-Step
- 11 Kesimpulan
- 12 Related Posts
1. Persiapan dan Verifikasi MariaDB
Sebelum menghapus MySQL, MariaDB harus aktif dan berjalan dengan benar.
- Cek status MariaDB:
sudo systemctl status mariadb
- Login MariaDB:
mariadb -u root -p
SHOW DATABASES;
- Semua database yang digunakan oleh aplikasi harus terlihat
- Pastikan aplikasi yang terhubung ke MariaDB berjalan normal
Jika MariaDB tidak berjalan atau ada database hilang, hentikan proses uninstall dan perbaiki MariaDB terlebih dahulu.
2. Backup Konfigurasi dan Data MariaDB
Karena MySQL dan MariaDB sering menggunakan folder yang sama, backup wajib dilakukan.
- Backup konfigurasi:
sudo cp -r /etc/mysql /etc/mysql_backup_mariadb
- Backup data:
sudo cp -r /var/lib/mysql /var/lib/mysql_backup_mariadb
/etc/mysql→ konfigurasi MariaDB/var/lib/mysql→ semua database MariaDB
Backup ini menjamin MariaDB tetap aman jika terjadi kesalahan saat menghapus MySQL.
3. Identifikasi Paket MySQL yang Terpasang
3.1 Ubuntu/Debian
dpkg -l | grep mysql
Contoh output:
mysql-client-8.0
mysql-server-8.0
mysql-common
- Hanya hapus
mysql-serverdanmysql-client - Jangan hapus
mysql-common, karena MariaDB membutuhkannya untuk library shared dan konfigurasi
3.2 CentOS/RHEL
rpm -qa | grep mysql
- Hapus hanya
mysql-serverdanmysqllama - Jangan hapus
mariadb-serverataumariadb-libs
Identifikasi paket sangat penting agar MariaDB tetap aman setelah uninstall MySQL.
4. Stop dan Disable Service MySQL
sudo systemctl stop mysql
sudo systemctl disable mysql
- Menghentikan service MySQL sebelum uninstall menghindari konflik port dengan MariaDB
- MariaDB tetap berjalan di port default 3306
Jangan mencoba uninstall MySQL saat service berjalan, karena dapat menyebabkan file lock atau data corrupt.
5. Remove Paket MySQL Aman
5.1 Ubuntu/Debian
sudo apt remove --purge mysql-server mysql-client -y
sudo apt autoremove -y
- Jangan hapus
mysql-common autoremoveakan membersihkan dependensi yang tidak digunakan, tetapi selalu periksa daftar paket yang akan dihapus
5.2 CentOS/RHEL
sudo yum remove mysql-server mysql -y
sudo yum autoremove -y
- Pastikan
mariadb-serverdanmariadb-libstetap ada
Dengan prosedur ini, hanya server dan client MySQL yang lama dihapus, MariaDB tetap utuh.
6. Bersihkan File Konfigurasi MySQL Lama
sudo rm -rf /etc/mysql/mysql.conf.d
sudo rm -rf /var/lib/mysql/mysql
- Jangan hapus seluruh
/var/lib/mysql, karena MariaDB menyimpan semua data di folder ini - Jangan hapus konfigurasi MariaDB utama yang ada di
/etc/mysql
Langkah ini memastikan sisa konfigurasi MySQL lama tidak mengganggu MariaDB.
7. Reload systemd dan Verifikasi MariaDB
Setelah uninstall dan cleanup:
sudo systemctl daemon-reload
sudo systemctl reset-failed
sudo systemctl start mariadb
sudo systemctl status mariadb
Login MariaDB:
mariadb -u root -p
SHOW DATABASES;
Cek port 3306:
sudo lsof -i :3306
- Pastikan hanya MariaDB yang berjalan
- Semua database dan konfigurasi tetap utuh
8. Tips Aman di Server Production
- Backup selalu sebelum uninstall (
/etc/mysqldan/var/lib/mysql) - Stop service MySQL sebelum remove paket
- Jangan hapus library yang dibutuhkan MariaDB (
mysql-commondi Ubuntu/Debian,mariadb-libsdi CentOS/RHEL) - Cleanup file MySQL lama secara selektif
- Verifikasi MariaDB login, query, dan aplikasi berjalan normal
- Periksa port 3306 agar tidak ada konflik dengan service lain
- Jika server memiliki banyak database, restore backup MariaDB ke server lain untuk uji sebelum cleanup
9. Studi Kasus
9.1 Server Web Hosting
- MariaDB digunakan untuk CMS, MySQL lama tertinggal
- Proses: backup MariaDB → stop MySQL → remove paket MySQL → cleanup file → verifikasi MariaDB
- Hasil: MariaDB tetap stabil, port 3306 hanya untuk MariaDB
9.2 Server ERP Production (>200GB)
- MariaDB primary database, MySQL lama tidak digunakan
- Backup penuh
/var/lib/mysqldan/etc/mysql - Remove paket MySQL aman
- Downtime kurang dari 10 menit
- Semua aplikasi ERP tetap berjalan normal
9.3 Server Development
- Beberapa developer masih menggunakan MySQL lama
- Backup MariaDB, stop MySQL → uninstall → cleanup
- Hasil: MariaDB tetap berjalan, MySQL lama hilang, lingkungan development bersih
10. Checklist Step-by-Step
- Cek MariaDB berjalan
- Backup
/etc/mysqldan/var/lib/mysql - Identifikasi paket MySQL (
mysql-serverdanmysql-client) - Stop dan disable service MySQL
- Remove paket MySQL aman (
apt remove --purge/yum remove) - Cleanup file konfigurasi MySQL lama
- Reload systemd
- Start MariaDB dan verifikasi
- Cek port 3306 dan login database
- Verifikasi aplikasi yang terhubung MariaDB
Checklist ini memastikan tidak ada langkah yang dilewatkan dan MariaDB tetap aman.
Kesimpulan
- Menghapus MySQL tanpa prosedur yang benar bisa merusak MariaDB
- Hanya hapus server dan client MySQL lama
- Jangan hapus
mysql-commondi Debian/Ubuntu ataumariadb-libsdi CentOS/RHEL - Backup MariaDB selalu sebelum uninstall
- Verifikasi MariaDB berjalan normal setelah cleanup
Panduan ini aman untuk server Linux produksi, baik Ubuntu/Debian maupun CentOS/RHEL, untuk memastikan MariaDB tetap stabil dan semua data utuh.