Lewati ke konten utama

Cari tulisan

Tidak ada tulisan yang cocok. Coba kata lain.

Teknologi

Bagaimana cara mengatasi “Error: MySQL shutdown unexpectedly”?

Muhammad Fikri Gunawan · · 5 menit baca
Bagaimana cara mengatasi “Error: MySQL shutdown unexpectedly”?
Foto oleh Mufigu

Saat saya membuka XAMPP dan mengeklik tombol "Start" untuk MySQL, muncul pesan kesalahan. Sebelumnya saya sudah berhasil menjalankannya, tetapi sekarang tidak bisa lagi.

Kasus

12:19:12 PM [mysql] Attempting to start MySQL app…
12:19:12 PM [mysql] Status change detected: running
12:19:13 PM [mysql] Status change detected: stopped
12:19:13 PM [mysql] Error: MySQL shutdown unexpectedly.
12:19:13 PM [mysql] This may be due to a blocked port, missing dependencies,
12:19:13 PM [mysql] improper privileges, a crash, or a shutdown by another method
12:19:13 PM [mysql] Press the Logs button to view error logs and check
12:19:13 PM [mysql] the Windows Event Viewer for more clues
12:19:13 PM [mysql] If you need more help, copy and post this
12:19:13 PM [mysql] entire log window on the forums

Berikut adalah isi log kesalahan:

2013-08-02 12:19:12 4536 [Note] Plugin ‘FEDERATED’ is disabled.
2013-08-02 12:19:12 f64 InnoDB: Warning: Using innodb_additional_mem_pool_size is DEPRECATED. This option may be removed in future releases, together with the option innodb_use_sys_malloc and with the InnoDB’s internal memory allocator.
2013-08-02 12:19:12 4536 [Note] InnoDB: The InnoDB memory heap is disabled
2013-08-02 12:19:12 4536 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
2013-08-02 12:19:12 4536 [Note] InnoDB: Compressed tables use zlib 1.2.3
2013-08-02 12:19:12 4536 [Note] InnoDB: Not using CPU crc32 instructions
2013-08-02 12:19:12 4536 [Note] InnoDB: Initializing buffer pool, size = 16.0M
2013-08-02 12:19:12 4536 [Note] InnoDB: Completed initialization of buffer pool
2013-08-02 12:19:12 4536 [Note] InnoDB: Highest supported file format is Barracuda.
2013-08-02 12:19:12 4536 [Note] InnoDB: The log sequence numbers 0 and 0 in ibdata files do not match the log sequence number 1616798 in the ib_logfiles!
2013-08-02 12:19:12 4536 [Note] InnoDB: Database was not shutdown normally!
2013-08-02 12:19:12 4536 [Note] InnoDB: Starting crash recovery.
2013-08-02 12:19:12 4536 [Note] InnoDB: Reading tablespace information from the .ibd files…

Pesan kesalahan yang paling penting ada di sini:

2013-08-02 12:19:12 4536 [ERROR] InnoDB:
Attempted to open a previously opened tablespace.
Previous tablespace mysql/innodb_table_stats uses space ID: 1 at filepath: .\mysql\innodb_table_stats.ibd.
Cannot open tablespace xat/payments which uses space ID: 1 at filepath: .\xat\payments.ibd

Sisa catatannya:

InnoDB: Error: could not open single-table tablespace file .\xat\payments.ibd
InnoDB: We do not continue the crash recovery, because the table may become
InnoDB: corrupt if we cannot apply the log records in the InnoDB log to it.
InnoDB: To fix the problem and start mysqld:
InnoDB: 1) If there is a permission problem in the file and mysqld cannot
InnoDB: open the file, you should modify the permissions.
InnoDB: 2) If the table is not needed, or you can restore it from a backup,
InnoDB: then you can remove the .ibd file, and InnoDB will do a normal
InnoDB: crash recovery and ignore that table.
InnoDB: 3) If the file system or the disk is broken, and you cannot remove
InnoDB: the .ibd file, you can set innodb_force_recovery > 0 in my.cnf
InnoDB: and force InnoDB to continue crash recovery here.

Apa penyebab kesalahan-kesalahan ini dan bagaimana cara mengatasinya?

Solusi

PENTING: JANGAN hapus file ibdata1. Anda bisa merusak semua basis data Anda.

Sebagai gantinya, cobalah terlebih dahulu menggunakan folder cadangan MySQL yang disertakan dalam XAMPP. Jadi, lakukan langkah-langkah berikut:

  1. Ubah nama folder mysql/data menjadi mysql/data_old
  2. Copy folder mysql/backup dan ganti nama menjadi mysql/data
  3. Copy semua database folder dari mysql/data_old ke mysql/data (kecuali mysql, performance_schema, dan phpmyadmin)
  4. Copy file mysql/data_old/ibdata1 ke folder mysql/data
  5. Start MySQL dari XAMPP control panel

Dan begitulah caranya!