TERAKHIR 16 JUNI 2026, Cara ke-3 BERHASIL !
Pesan "MySQL shutdown unexpectedly" pada XAMPP biasanya disebabkan oleh salah satu dari 4 hal:
- Port MySQL (3306) dipakai aplikasi lain.
- File database MySQL corrupt setelah listrik mati / force shutdown.
- Folder data MySQL rusak.
- Service MySQL lain sedang berjalan.
Mari cek satu per satu.
1. Lihat Log Error MySQL
Buka:
xampp/mysql/data/mysql_error.log
atau klik tombol Logs pada MySQL di XAMPP.
Salin 20–50 baris terakhir errornya ke sini.
2. Cek Port 3306
Buka CMD sebagai Administrator:
netstat -ano | findstr :3306
Jika muncul hasil seperti:
TCP 0.0.0.0:3306 ...
lihat PID-nya, misalnya:
TCP 0.0.0.0:3306 ... 1234
Lalu:
tasklist | findstr 1234
Kalau ternyata ada:
- MySQL80
- MariaDB
- Laragon
- WAMP
maka port sedang dipakai aplikasi lain.
Solusi:
- Stop service tersebut
- atau ubah port MySQL XAMPP menjadi 3307
3. Jika Database Corrupt (Kasus Paling Umum)
Masuk ke:
xampp/mysql/
Anda akan melihat folder:
data
backup
Langkah:
Stop XAMPP
Tutup XAMPP seluruhnya.
Rename folder data
data
↓
data_old
Copy folder backup
backup
↓
copy
↓
rename menjadi data
Kemudian dari data_old salin folder database milik Anda saja ke folder data baru.
Jangan copy folder berikut:
mysql
performance_schema
phpmyadmin
Setelah itu jalankan MySQL lagi.
4. Cek File InnoDB Rusak
Masuk ke:
xampp/mysql/data
Cari file:
ibdata1
ib_logfile0
ib_logfile1
Kadang file ini corrupt.
Jika Anda tidak memiliki data penting:
-
Backup folder
data - Hapus:
ibdata1
ib_logfile0
ib_logfile1
- Jalankan MySQL
5. Cek Service MySQL Windows
Tekan:
services.msc
Cari:
- MySQL
- MySQL80
- MariaDB
Jika ada yang statusnya Running, stop dulu.
Kemudian jalankan MySQL dari XAMPP.
Saya perlu informasi berikut agar bisa memberi solusi yang tepat:
- Versi XAMPP yang digunakan.
- Isi file:
xampp/mysql/data/mysql_error.log
(khusus 30–50 baris terakhir).
- Hasil perintah:
netstat -ano | findstr :3306
Dari log tersebut biasanya langsung bisa diketahui apakah masalahnya port conflict atau database corrupt.


