MySQL 'Table is Marked as Crashed' Hatası ve Çözümü: Adım Adım Kurtarma Rehberi

MySQL 'Table is Marked as Crashed' hatasının ne olduğunu, nasıl tespit edileceğini ve adım adım nasıl çözüleceğini anlatan detaylı bir rehber.

BFS

Bir sabah uyandınız ve sunucunuza bağlanmaya çalışırken, ansızın korkutucu bir hata mesajı ile karşılaştınız. Evet, o mesajı görmüş olabilirsiniz: *MySQL Table is Marked as Crashed*. Bu mesaj, veritabanı yöneticileri için gerçekten kabus gibi olabilir. Ama korkmayın, bu yazımızda size hem bu hatayı nasıl tespit edeceğinizi hem de nasıl düzelteceğinizi adım adım anlatacağım.

MySQL 'Table is Marked as Crashed' Hatası Nedir?



Bu hata genellikle MySQL'in veri dosyalarını işlerken bir şeylerin ters gitmesi sonucu meydana gelir. Genellikle bu, disk arızaları, yazılım hataları ya da ani sistem kapanmaları nedeniyle olur. Veritabanı, tabloların düzgün şekilde çalışmasını sağlayamaz ve onları "çökmüş" olarak işaretler. Ama merak etmeyin, *"Table is Marked as Crashed"* hatası, veri kaybına yol açmadan düzeltilebilen bir durumdur.

Bu Hata ile Karşılaştığınızda Ne Yapmalısınız?



Eğer veritabanınızda böyle bir hata ile karşılaşırsanız, ilk yapmanız gereken panik yapmamak. Çoğu zaman bu sorun basit bir düzeltme ile çözülebilir. İşte size bu hatayı düzeltmek için birkaç yöntem:

1. MySQL Tablosunu Onarmak İçin 'REPAIR TABLE' Komutunu Kullanmak



Tablonuzun çökmesi durumunda, ilk çözüm olarak MySQL’in *REPAIR TABLE* komutunu kullanabilirsiniz. Bu komut, tabloyu hızlıca onarmaya çalışır.

Aşağıdaki komutu MySQL terminalinde çalıştırarak bu işlemi gerçekleştirebilirsiniz:


REPAIR TABLE tablo_adı;


Bu komut, tabloda meydana gelen bozulmaları onarmaya çalışacaktır. Eğer tablo büyükse, işlem birkaç dakika sürebilir, sabırlı olun.

2. MySQL'i 'MyISAM' Kullanıyorsanız, 'myisamchk' Aracını Kullanmak



Eğer tablolarınız *MyISAM* motorunda ise, *myisamchk* komut satırı aracı ile tabloyu onarabilirsiniz. Bu aracın çalışabilmesi için MySQL servisini durdurmanız gerekebilir.

Öncelikle aşağıdaki komutla MySQL servisinin durduğundan emin olun:


sudo service mysql stop


Sonrasında, aşağıdaki komutla tabloyu onarın:


myisamchk /var/lib/mysql/veritabani_adı/tablo_adı.MYI


Eğer işlem başarıyla tamamlanırsa, MySQL servisinin tekrar başlatılması gerekebilir:


sudo service mysql start


3. Tabloyu Yedekten Geri Yüklemek



Eğer onarma işlemi işe yaramazsa ve veritabanınızda yedekleriniz mevcutsa, verilerinizi yedekten geri yüklemek en güvenli seçenek olabilir. Yedekleriniz, veritabanınızın daha önceki bir zaman diliminde sağlam olan durumunu geri getirmenize olanak sağlar.

Yedeklerinizi geri yüklemek için şu komutu kullanabilirsiniz:


mysql -u kullanıcı_adı -p veritabani_adı < yedek_dosyası.sql


4. MySQL'in 'InnoDB' Motorunu Kullanıyorsanız



Eğer tablonuz *InnoDB* motorunda çalışıyorsa, işlem biraz daha karmaşık olabilir. InnoDB için tabloların onarımı, MySQL’in otomatik kurtarma mekanizması tarafından yapılabilir. Ancak bazen manuel müdahale gerekebilir. Bu durumda aşağıdaki adımları takip edebilirsiniz:

- MySQL'in config dosyasını (my.cnf) açın ve [mysqld] sekmesine şu satırı ekleyin:


innodb_force_recovery = 1


- Ardından MySQL'i yeniden başlatın:


sudo service mysql restart


- Eğer bu işlem başarılı olursa, veritabanınızı yedekten geri yükleyebilirsiniz.

5. MySQL Sunucu Loglarını Kontrol Edin



Eğer tabloyu onarmaya yönelik işlemler hala işe yaramadıysa, log dosyalarınızı kontrol etmek iyi bir fikir olabilir. MySQL hata loglarında genellikle daha fazla bilgi bulabilirsiniz.

Logları şu komutla görebilirsiniz:


tail -f /var/log/mysql/error.log


Bu loglar, daha derinlemesine inceleme yapmanıza ve sorunun kaynağını bulmanıza yardımcı olabilir.

Sonuç olarak



MySQL 'Table is Marked as Crashed' hatası, başta korkutucu olabilir. Ancak doğru adımları izleyerek bu hatayı kolayca çözebilirsiniz. Onarım, yedekleme ve doğru araçları kullanmak bu süreci hızlı ve güvenli bir şekilde atlatmanıza yardımcı olur. Tabii ki, önceden düzenli olarak yedek alma alışkanlığı edinmek, gelecekteki felaketlerden korunmanıza yardımcı olacaktır.

Unutmayın, veritabanı yönetimi karmaşık bir süreç olabilir, ancak doğru araçlarla ve dikkatli bir yaklaşım ile her şey çözülebilir.

İlgili Yazılar

Benzer konularda diğer yazılarımız

"Veri Güvenliği: MySQL Veritabanınızı Hack’lere Karşı Nasıl Korursunuz?"

Veri güvenliği, günümüz dijital dünyasında en kritik konulardan biri haline geldi. Özellikle veritabanları, saldırganların hedef aldığı ve hassas verilerin çalındığı ilk yerlerden biridir. MySQL veritabanları, dünya çapında en çok kullanılan açık kaynaklı...

Linux'ta MySQL Veritabanı Yönetimi: Temelden İleriye Yolculuk

Linux'ta MySQL Veritabanı Yönetimi: Başlangıç NoktanızBir zamanlar, Linux'ta veritabanı yönetimi bana oldukça karmaşık geliyordu. Veritabanı dünyasına ilk adım attığımda, her şey bana bir labirent gibi görünüyordu. Ancak zamanla, Linux üzerinde MySQL...

Veritabanı Yedekleme: PostgreSQL, MySQL ve MongoDB Arasındaki Farklar ve Hangi Durumda Hangisini Seçmelisiniz?

Veritabanı yönetim sistemleri, bir uygulamanın en önemli yapı taşlarından biridir. Ancak bir veritabanı kullanmaya başlamak, sadece sistemin kurulumu ile sınırlı kalmaz; yedekleme, güvenlik, performans optimizasyonu gibi konuları da içerir. Peki, PostgreSQL,...