‘Table is Marked as Crashed’ Hatası Nedir?
Bu hata, MySQL veritabanındaki bir tablonun bozulmuş veya “crash” olmuş olduğunu belirtir. Bu durumda MySQL, tablonun bozulduğunu ve bazı verilerin kaybolmuş olabileceğini düşündüğü için o tabloya herhangi bir işlem yapılmasına izin vermez. Bunu daha anlaşılır kılmak gerekirse, MySQL bir tür koruma mekanizması devreye sokar ve bu sayede veritabanındaki diğer işlemler bozulmaz.
Peki, bu hata genellikle neden meydana gelir? İşte birkaç olasılık:
- Veritabanı sunucusu beklenmedik şekilde kapandı (örneğin, elektrik kesintisi, sunucu çökmesi).
- Disk alanı dolmuş olabilir.
- MySQL sunucusunda yazılım hatası veya yanlış yapılandırma olabilir.
Hatanın Çözümü: Adım Adım Rehber
Bu hatayı gördüğünüzde panik yapmanıza gerek yok! Aşağıdaki adımları izleyerek hatayı çözebilirsiniz.
1. MySQL Servisini Durdurun
İlk adım olarak MySQL servisinin durdurulması gerekir. Bunun için terminal ya da komut satırını açarak şu komutu çalıştırabilirsiniz:
sudo service mysql stop2. Çökmüş Tabloları Kontrol Edin
MySQL veritabanındaki çökmüş tabloyu tespit etmek için aşağıdaki komutu kullanabilirsiniz:
sudo mysqlcheck -u root -p --auto-repair --check --all-databasesBu komut, tüm veritabanlarını kontrol eder ve çökmüş tabloyu tespit eder. Tablonun çökmüş olduğunu gördüğünüzde, bir sonraki adıma geçebilirsiniz.
3. Tabloları Onarın
Tabloları onarmak için MySQL’in “REPAIR TABLE” komutunu kullanabilirsiniz. Aşağıdaki komut, bozuk olan tabloyu onaracaktır:
REPAIR TABLE tablo_adı;Eğer tabloyu onarmak işe yaramazsa, alternatif olarak aşağıdaki komutu kullanabilirsiniz:
myisamchk -r /var/lib/mysql/veritabani_adı/tablo_adı.MYIBu, MyISAM tablo motoru kullanan veritabanları için geçerlidir.
4. MySQL Servisini Başlatın
Tabloları onardıktan sonra, MySQL servisinin tekrar başlatılması gerekir. Aşağıdaki komut ile servisi başlatabilirsiniz:
sudo service mysql start5. Veritabanını Tekrar Kontrol Edin
Son olarak, veritabanınızı tekrar kontrol edin ve hatanın çözülüp çözülmediğini doğrulayın. Aşağıdaki komut ile veritabanınızın durumunu kontrol edebilirsiniz:
sudo mysqlcheck -u root -p --all-databasesEğer her şey yolundaysa, tablonuz tekrar erişilebilir olacaktır.
Tabloyu Yedeklemeyi Unutmayın
Bir dahaki sefere veritabanınızda işlem yapmadan önce, tablonuzun yedeğini almayı unutmayın. Özellikle önemli veriler üzerinde işlem yaparken, bir hata durumunda geri dönüş yapmak adına yedek almak her zaman iyi bir fikir olacaktır.
Sonuç: ‘Table is Marked as Crashed’ Hatası ile Başa Çıkma
‘Table is Marked as Crashed’ hatası, çoğu zaman küçük bir aksaklık olabilir. Ancak doğru adımları takip ederek, bu hatayı kolayca çözebilirsiniz. Yukarıda verdiğim adımları izleyerek, bozuk tablonuzu onarabilir ve veritabanınızı eski haline getirebilirsiniz. Eğer hala sorun yaşıyorsanız, MySQL’in hata loglarını kontrol edin ya da bir veritabanı uzmanından yardım alabilirsiniz.