Thursday, May 28, 2015

Solved! Table jos_session; is marked as crashed and last (automatic?) repair failed SQL=INSERT INTO `jos_session` (`session_id`, `client_id`, `time`) VALUES | Joomla



Berikut ini adalah pesan error yang saya dapatkan di browser. 

Table './DATABASE_NAME/jos_session' is marked as crashed and last (automatic?) repair failed SQL=INSERT INTO `jos_session` (`session_id`, `client_id`, `time`) VALUES ('b0c45b738cc26fa7126bd815e496457b', 1, '1432701153')

Saya sudah mengetahui ada beberapa hal yang harus saya perbaiki pada sistem joomla nya yaitu pada : template/ component/ module/ plugin, terutama module karena seringkali penyebab error ini adalah pada module-module tertentu. 

Ada baiknya sebelum masalah seperti ini terjadi, admin melakukan cek berkala pada module-module yang terpasang jadi ada semacam tindakan antisipasi/ preventive maintenance [ PM ]. Cara melihat module-module yang bermasalah bisa di bagian Control Panel > Extension Manager > Manage. 

Lihat gambar.



Di bagian manage ini akan terlihat bila ada module-module yang bermasalah, pilih dan di disable dahulu agar tidak menyebabkan masalah baru pada website, kemudian kita cek apa masalah pada module tsb, bisa juga kita uninstall ( simple fix ) saja lalu kita gantikan dengan module lain yang serupa ( similiar ).

Namun, apabila sudah kejadian dan bertemu dengan masalah Jos_Session seperti tsb diatas maka database nya ada yang rusak ( error ), ini bisa kita lihat dengan login ke PhpMyAdmin > Pilih database nya > Check All Table > Check tables having overhead atau Check Table atau Analyze Table, nanti akan kelihatan mana yang bermasalah.



Dalam kasus saya table yang rusak adalah bak_jos_agora_adsense.

Solusi :
  1. Langkah ke-1. Gunakan user Root, pilih table yang rusak tsb dan lakukan Repair table, coba diperiksa dengan mencoba browsing websitenya jika website sudah dapat diakses normal berarti masalah sudah teratasi.
  2. Langkah ke-2. Bila ternyata hasilnya Table tsb tidak bisa di perbaiki ( repair ) maka lakukan Drop table.
  3. Langkah ke-3. Bila langkah ke-2 juga tidak berhasil maka dengan terpaksa lakukan Restore Database lewat PhpMyAdmin dan gunakan backup database yang terakhir lalu lakukan Import, maka masalahnya akan teratasi ( Solved ), bisa diperiksa dengan mencoba browsing websitenya dan seharusnya website sudah dapat diakses normal.
N.B.
*Untuk Repair table, kalau tidak mengunakan user root misalnya mengunakan user sudoers biasanya tidak akan berhasil.
*Pastikan kepemilikan database adalah mysql:mysql [ group, owner ]

Tips. Setting backup database secara berkala agar ada antisipasi bila harus mengunakan opsi langkah ke-3 diatas yaitu Restore Database. Pada Linux bisa mengunakan bash scripts lalu jalankan backup terjadwal dengan cron, lakukan backup sekaligus untuk dir /var/www/my-web dan berikut database nya yang biasanya di Debian/ Ubuntu terletak di dir /var/lib/mysql.

Lihat gambar.




Letak dir mysql.


Contoh Cron backup


Contoh hasil backup berkala dengan bash scripts.


Semoga Bisa Membantu! 

No comments:

Post a Comment

N.B.
1. Berkomentarlah dengan sopan.
2. Dilarang membuat spam, terutama yang mengandung SARA/ Pornografi/ Judi dan Iklan.