Senin, 09 Juli 2018

Cara Lain Mengatasi Error: MySQL shutdown unexpectedly (2)

 Cara Lain Mengatasi Error: MySQL shutdown unexpectedly (2) 

Jadi seorang programmer itu memang banyak pengalaman pahit yang haru dilewati, tapi tidak menjadi begitu berarti kalau tidak dibagikan juga sudah berhasil diatasi.

Sekarang saya akan berbagi pengalaman lagi tentang bagaimana cara mengatasi Error: MySQL shutdown unexpectedly (2), yang sebelumnya pernah saya bahas pada artikel "Cara Mengatasi Error: MySQL shutdown unexpectedly" yang ternyata tidak serta merta dapat menyelesaikan masalah dengan persan error yang sama.

Coba anda perhatikan pesan error di bawah ini, sama persis dengan pesan error yang ditampilkan pada artikel sebelumnya, tapi ternyata walaupun pesan errornya sama namun penyelesaiannya cukup berbeda.

  • Error: MySQL shutdown unexpectedly.
  • 08:58:49  [mysql]     This may be due to a blocked port, missing dependencies,
  • 08:58:49  [mysql]     improper privileges, a crash, or a shutdown by another method.
  • 08:58:49  [mysql]     Press the Logs button to view error logs and check
  • 08:58:49  [mysql]     the Windows Event Viewer for more clues
  • 08:58:49  [mysql]     If you need more help, copy and post this
  • 08:58:49  [mysql]     entire log window on the forums
Setelah mencoba-coba seharian tidak kunjung terselesaikan, namun dipenghujung rasa putus asa (baca: Niat Instal Ulang Xampp),  pengalaman kali ini saya disadarkan oleh pesan error yang saya beri warna merah, sebenarnya semua pesan error pada xampp control panel berwarna merah tapi disini kita focus pada satu pesan error saya yaitu: "Press the Logs button to view error logs and check" .

Saya mencoba untuk melihat pesan error tersebut, ternyata banyak banget tulisan berbahasa inggris yang membuat saya sedikit jenuh untuk membacanya (karena saya tidak begitu fasih berbahasa inggris), tiba-tiba muncul ide untuk menghapus semua pesan error yang ada pada file mysql_error.log  (bukan menghapus file tapi tulisan yang ada pada file mysql_error.log), kemudian mencoba menekan Start pada mySQL sehingga terbuatlah pesan error baru pada file mysql_error.log. setelah membukaya kembali ternyata ada satu baris yang menarik perhatian yaitu:

Error: could not open single-table tablespace file .\ojs311\access_keys.ibd

Berdasarkan analisa dan asumsi bahwa yang menjadi penyebab error mySQL adalah sebuah tabel dengan nama access_keys pada database oj311

Dan memang benar access_keys.ibd adalah penyebabnya.

Kenapa bisa jadi error ?
Sebelum lanjut pada langkah-langkah mengatasi error ini, perlu saya sampaikan terlebih dahulu kenapa tabel access_keys.ibd pada database ojs311 bermasalah, tujuannya agar anda ada bayangan sebelum mencoba untuk memperbaikinya.

Ceritanya begini: sebelumnya saya menginstal sebuah aplikasi berbasis web yaitu OJS 3.1.1 dan berjalan dengan baik, dan keesokan harinya saya ingin membuat sebuah tutorial tentang bagaimana cara mengistal OJS 3.1.1 dan akhirnya saya memutuskan untuk menghapus sebagian data melalui bagian admin, tapi saat itu waktu sudah jamnya istirahat  akhirnya komputer ikut di hebernasi (hibernate) agar nanti dapat dilanjutkan kembali, namun waktu berkata lain saya harus mengalami hal yang menyebabkan saya harus menulis artikel ini.

Baik, untuk mempersingkat waktu sekarang anda perhatikan tahapan-tahapan di bawah ini, semoga dapat membantu.

Langkah Pertama

Jalankan Xampp Control Panel anda, bisa dari windows menu atau langsung dari folder Xampp.


Langkah Kedua

Buka mysql_error.log dengan dua cara:

  • Buka melalui Xampp Control Panel: klik logs pada MySQL lalu pilih dan klik mysql_error.log
    Cara Lain Mengatasi Error: MySQL shutdown unexpectedly (2)
  • Buka melalui direktori dimana Xampp anda terinstal misal pada anda isntal Xampp pada drive C maka direktori mysql_error.log ada pada : C:\xampp\mysql\data

Langkah Ketiga

Hapus/pindahkan semua pesan error yang ada pada mysql_error.log, kemudian simpan dalam keadaan kosong.

Langkah Keempat

Kembali ke Xampp Control Panel, klik Start pada baris MySQL maka pesan error akan tertulis kembali bada mysql_error.log.
kemudian periksa pesan error tersebut apakah ada yang mirip dengan error berikut:

Error: could not open single-table tablespace file .\ojs311\access_keys.ibd

Ini pesan error selengakapnya pada mysql_error.log:
[ERROR] InnoDB: Attempted to open a previously opened tablespace. Previous tablespace ojs3/access_keys uses space ID: 4992 at filepath: .\ojs3\access_keys.ibd. Cannot open tablespace ojs311/access_keys which uses space ID: 4992 at filepath: .\ojs311\access_keys.ibd
InnoDB: Error: could not open single-table tablespace file .\ojs311\access_keys.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.
1274 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.
4724 [Note] InnoDB: innodb_empty_free_list_algorithm has been changed to legacy because of small buffer pool size. In order to use backoff, increase buffer pool at least up to 20MB.


Langkah Kelima

Setelah menemukan ciri-ciri di atas (langkah keempat), kemudian masuk ke direktori C:\xampp\mysql\data dan temukan folder database yang bermasalah pada kasus ini nama databasenya adalah ojs311

Jika database yang bermasalah dianggap penting, pindahkan ke folder lain siapa tahu nantu ada metode untuk recovery  atau jika tidak telalu berguna hapus saja

Anda harus bersedia kehilangan satu database untuk kasus ini, kecuali bisa memperbaikinya.


Langkah Keenam

Coba kembali jalankan kembali MySQL Service dengan cara klik Start, jika seluruh tahapan ini dilakasakan dengan benar maka MySQL module akan berwarna hijau dan pada port(s) akan tampil angka 3306.


Langkah ketujuh

Buka web browser lalu ketik localhost/phpmyadmin untuk memastikan bahwa database anda sudah bekerja dengan baik dan dapat diakses kembali.


Demikian pengalaman yang dapat saya bagikan pada kesempatan kali ini tentang Cara Lain Mengatasi Error: MySQL shutdown unexpectedly (2), semoga dapat bermanfaat.

Saya sangat berharap dapat berbagi pengalaman jika telah berhasil mengatasi masalah seperti yang saya alami sebagaimana artikel ini, atau kritik dan saran jika anda belum berhasil mengatasinya melalui kolom komentar di bawah ini.

Tidak ada komentar:

Posting Komentar

Catatan: Hanya anggota dari blog ini yang dapat mengirim komentar.