Cara Menghapus MySQL Aman di Linux Tanpa Merusak MariaDB

Cara Menghapus MySQL Aman di Linux Tanpa Merusak MariaDB

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.


1. Persiapan dan Verifikasi MariaDB

Sebelum menghapus MySQL, MariaDB harus aktif dan berjalan dengan benar.

  1. Cek status MariaDB:
sudo systemctl status mariadb
  1. 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.

  1. Backup konfigurasi:
sudo cp -r /etc/mysql /etc/mysql_backup_mariadb
  1. 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-server dan mysql-client
  • Jangan hapus mysql-common, karena MariaDB membutuhkannya untuk library shared dan konfigurasi

3.2 CentOS/RHEL

rpm -qa | grep mysql
  • Hapus hanya mysql-server dan mysql lama
  • Jangan hapus mariadb-server atau mariadb-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
  • autoremove akan 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-server dan mariadb-libs tetap 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

  1. Backup selalu sebelum uninstall (/etc/mysql dan /var/lib/mysql)
  2. Stop service MySQL sebelum remove paket
  3. Jangan hapus library yang dibutuhkan MariaDB (mysql-common di Ubuntu/Debian, mariadb-libs di CentOS/RHEL)
  4. Cleanup file MySQL lama secara selektif
  5. Verifikasi MariaDB login, query, dan aplikasi berjalan normal
  6. Periksa port 3306 agar tidak ada konflik dengan service lain
  7. 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/mysql dan /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

  1. Cek MariaDB berjalan
  2. Backup /etc/mysql dan /var/lib/mysql
  3. Identifikasi paket MySQL (mysql-server dan mysql-client)
  4. Stop dan disable service MySQL
  5. Remove paket MySQL aman (apt remove --purge / yum remove)
  6. Cleanup file konfigurasi MySQL lama
  7. Reload systemd
  8. Start MariaDB dan verifikasi
  9. Cek port 3306 dan login database
  10. 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-common di Debian/Ubuntu atau mariadb-libs di 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.