Jika Anda menggunakan XAMPP untuk pengembangan aplikasi berbasis PHP dan MySQL, salah satu masalah yang cukup membuat panik adalah ketika tombol Start pada MySQL tidak bertahan menyala. XAMPP biasanya hanya menampilkan pesan umum seperti “MySQL shutdown unexpectedly”.

Pada kasus yang dibahas dalam artikel ini, masalahnya bukan langsung pada database aplikasi dan bukan pula pada ibdata1. Setelah log MySQL diperiksa, sumber masalah mengarah ke Aria storage engine yang gagal melakukan recovery.
1. Jangan Langsung Menghapus Folder Data
Ketika MySQL XAMPP gagal start, jangan langsung mengambil jalan pintas dengan menghapus folder C:\xampp\mysql\data, ibdata1, atau file InnoDB lainnya. Jika di dalamnya terdapat database penting, tindakan tersebut dapat menyebabkan kehilangan data.
C:\xampp\mysql\data.2. Periksa Folder Data MySQL
Langkah pertama adalah melihat isi folder data MySQL untuk mengetahui file apa saja yang tersedia.
C:\xampp\mysql\data

Pada kasus ini terlihat beberapa file penting seperti ibdata1, ib_logfile0, ib_logfile1, aria_log.00000001, dan aria_log_control.
Namun, keberadaan file tersebut saja belum cukup untuk menyimpulkan file mana yang rusak. Kita perlu membaca error log.
3. Periksa mysql_error.log
Error log adalah petunjuk paling penting. Error log dapat dibuka dengan cara:
Pada command prompt, ketikkan : type C:\xampp\mysql\data\mysql_error.log

Berdasarkan tanggal dan waktu akses, silahkan cari 20 pesan error terbaru mysql_error.log. Pada kasus ini ditemukan pesan:
Aria recovery failed. Please run aria_chk -r on all Aria tables and delete all aria_log.######## files
Kemudian muncul:
Plugin 'Aria' init function returned error. Plugin 'Aria' registration as a STORAGE ENGINE failed.
Ada pula pesan:
Cannot find checkpoint record at LSN (1,0x2a2b)
Menariknya, log yang sama menunjukkan bahwa InnoDB berhasil melakukan inisialisasi:
InnoDB: 10.4.22 started
Artinya pada kasus ini fokus perbaikan diarahkan ke Aria, bukan langsung mengutak-atik ibdata1.
4. Cari Tabel Aria (.MAI)
Pastikan MySQL masih STOP. Buka Command Prompt sebagai Administrator, lalu jalankan:
cd C:\xampp\mysql\data dir /s /b *.MAI

Pada kasus ini, file .MAI ditemukan pada database sistem:
C:\xampp\mysql\data\mysql\
File-file tersebut antara lain tabel sistem seperti plugin.MAI, global_priv.MAI, db.MAI, dan tabel Aria lainnya.
Tidak ditemukan file .MAI pada database aplikasi TryPINTAR dari pencarian tersebut. Karena itu, proses repair difokuskan pada tabel Aria di database sistem mysql.
5. Backup Folder data Terlebih Dahulu
Sebelum menjalankan repair, buat salinan:
C:\xampp\mysql\data
Misalnya menjadi:
C:\xampp\mysql\data_backup_2026-10-04
6. Repair Tabel Aria dengan aria_chk
Setelah backup dibuat dan MySQL tetap dalam keadaan STOP, masuk ke folder data:
cd C:\xampp\mysql\data
Kemudian jalankan:
for %f in (mysql\*.MAI) do C:\xampp\mysql\bin\aria_chk.exe -r "%f"
Perintah tersebut menjalankan aria_chk -r terhadap tabel Aria yang berada pada folder database sistem mysql.

Output yang dapat terlihat antara lain:
- recovering (with sort) Aria-table ... Data records: 0 - Fixing index 1 State updated
Status State updated menunjukkan bahwa proses repair terhadap tabel tersebut telah dilakukan.
7. Jika Muncul Warning aria_log_control
Pada percobaan awal, aria_chk dijalankan dari folder:
C:\xampp\mysql\bin>
Akibatnya muncul pesan:
aria_chk.exe: Got error 'Can't find file' when trying to use aria control file '.\aria_log_control'

Masalahnya adalah lokasi kerja Command Prompt. File aria_log_control berada di:
C:\xampp\mysql\data\aria_log_control
Sementara command sebelumnya dijalankan dari folder bin. Karena itu proses repair dijalankan kembali dari folder data:
cd C:\xampp\mysql\data
kemudian:
for %f in (mysql\*.MAI) do C:\xampp\mysql\bin\aria_chk.exe -r "%f"

Pada percobaan berikutnya, warning Can't find file ... aria_log_control tidak lagi muncul dan tabel-tabel menunjukkan State updated.
8. Tangani aria_log dengan Hati-Hati
Error log juga memberikan instruksi: Please run aria_chk -r on all Aria tables and delete all aria_log.######## files
Pada kasus ini ditemukan: aria_log.00000001, aria_log_control
Karena database penting berada pada komputer yang sama, langkah yang lebih aman adalah melakukan rename terlebih dahulu, bukan langsung menghapus file recovery log. Pada command prompt ketikkan:
ren aria_log.00000001 aria_log.00000001.bak
Kemudian periksa:
dir aria_log*
Hasil yang kita harapkan kira-kira:
aria_log.00000001.bak aria_log_control
aria_log_control. Lakukan perubahan secara bertahap dan pastikan backup folder data sudah tersedia.9. Coba Start MySQL Kembali
Setelah repair selesai dan file log Aria ditangani, buka XAMPP Control Panel lalu klik Start pada MySQL.
Jika MySQL berhasil berjalan, buka:
http://localhost/phpmyadmin
Kemudian pastikan database aplikasi masih terlihat dan dapat dibuka. Untuk database penting seperti TryPINTAR, jangan hanya memastikan lampu MySQL berubah menjadi hijau. Periksa juga tabel dan data yang digunakan aplikasi.
10. File yang Jangan Sembarangan Dihapus
| File/Folder | Yang Sebaiknya Dilakukan |
|---|---|
ibdata1 | Jangan dihapus tanpa diagnosis karena berkaitan dengan InnoDB. |
ib_logfile0 | Jangan dihapus jika tidak ada indikasi masalah pada InnoDB. |
ib_logfile1 | Jangan dihapus jika tidak ada indikasi masalah pada InnoDB. |
C:\xampp\mysql\data | Backup terlebih dahulu sebelum melakukan recovery. |
aria_log.######## | Tangani berdasarkan error log dan setelah backup. |
aria_log_control | Jangan sembarang dihapus; pastikan langkah recovery sesuai kondisi sistem. |
Kesimpulan
Pesan “MySQL shutdown unexpectedly” di XAMPP tidak selalu berarti seluruh database rusak. Pada kasus ini, pemeriksaan error log menunjukkan bahwa Aria recovery gagal, sementara InnoDB berhasil melakukan startup.
Urutan diagnosis yang dilakukan adalah:
- Pastikan MySQL STOP.
- Periksa isi folder
C:\xampp\mysql\data. - Baca
mysql_error.log. - Identifikasi pesan
Aria recovery failed. - Cari tabel Aria menggunakan
dir /s /b *.MAI. - Backup folder
data. - Jalankan
aria_chk -rterhadap tabel Aria. - Pastikan command dijalankan dari folder data agar
aria_log_controldapat ditemukan. - Tangani
aria_log.########secara hati-hati. - Start MySQL kembali dan verifikasi database aplikasi.
Pelajaran terpenting: jangan langsung menghapus file InnoDB hanya karena MySQL XAMPP gagal start. Baca mysql_error.log terlebih dahulu. Error log biasanya memberikan petunjuk yang jauh lebih spesifik tentang komponen yang bermasalah.