"tbl_name.frm" tablo tanımı (tablo) dosyası "tbl_name. MYD "Veri Dosyası" tbl_name. MYI" dizin dosyası Bu 3 dosya türü farklı türlerde bozulma yaşayabilir, ancak sorun en çok veri dosyalarında ve indeks dosyalarında ortaya çıkar. Myisamchk bir ". MYD" (veri) dosyasını çalıştırmak için eski ". MYD dosyasını gönderip yeni dosyayı orijinal dosya adıyla yeniden adlandırarak onarım aşamasını sonlandırın. Eğer --quick kullanırsanız, myisamchk geçici ". MYD" dosyası, sadece varsayıyorum". MYD" dosyası doğrudur ve sadece yeni bir indeks dosyası oluşturur, dokunulmaz". MYD" dosyasını da bu şekilde güvenlidir çünkü myisamchk otomatik olarak algılar". MYD" dosyası bozulmuş ve bu durumda tamiri terk etmek gerekiyor. Myisamchk'a iki hızlı seçenek de verebilirsiniz. Bu durumda, myisamchk bazı hatalardan (örneğin tekrar eden tuşlardan) vazgeçmez, bunun yerine ". MYD" dosyasını kullanarak onları çözer. Genellikle, sadece çok az boş disk alanına normal bir düzeltme uygularsanız, iki hızlı seçeneği kullanırsanız faydalıdır. Bu durumda, myisamchk çalıştırmadan önce en azından bir yedekleme yapmalısınız. 1. Tablodaki hatalar nasıl kontrol edilir Bir tabloyu kontrol etmek için aşağıdaki komutu kullanın: Myisamchk tbl_name Bu, tüm hataların %99,99'unu yakalıyor. Bulamadığı ise, bozulmanın sadece veri dosyalarında gerçekleştiği (ki bu nadir bir durumdur). Bir tabloyu kontrol etmek istiyorsanız, genellikle myisamchk'ı bu seçenek olmadan çalıştırmalı veya -s veya --silent seçeneklerinden birini kullanmalısınız. myisamchk -e tbl_name Tamamen kapsamlı bir veri kontrolü yapar (-e, "genişletilmiş kontrol" anlamına gelir). Her satırda her satırda okuma kontrolü yapar ve doğru satıra işaret ettiklerini doğrular. Bu, çok sayıda anahtarlı büyük bir masada uzun sürebilir. Myisamchk genellikle ilk hatayı bulduktan sonra durur. Daha fazla bilgi isterseniz, --verbose(-v) seçeneğini ekleyebilirsiniz. Bu durum myisamchk'ın maksimum 20 hataya kadar devam etmesini sağlar. Genel kullanımda, basit bir myisamchk (tablo adı dışında argüman olmadan) yeterlidir. myisamchk -e -i tbl_name Önceki komut gibi, ama -i seçeneği myisamchk'a bazı istatistikleri de yazdırmasını söylüyor. 2. Masa nasıl tamir edilir Bozulmuş bir tablonun belirtisi genellikle beklenmedik bir sorgu kırılmasıdır ve örneğin şu hataları görebilirsiniz: "tbl_name.frm" kilitlidir ve değiştirilemez. "tbl_name" dosyasını bulamıyorum. MYI"(Errcode :### )。 Tablo işlemcisinden ### hatasını alın (bu durumda 135 numaralı hata istisnadır). Beklenmedik dosya sonu. Kayıt dosyaları yok edildi. Bu durumlarda, tabloyu düzeltmeniz gerekir. Myisamchk genellikle yanlış giden çoğu şeyi tespit edip düzeltir. Onarım süreci, aşağıda açıklanan en fazla 4 aşamadan oluşur. Başlamadan önce, veritabanı dizini ve kontrol listesi dosyalarına verdikleri izinleri cd etmelisiniz, böylece mysqld çalıştıran Unix kullanıcıları tarafından okunabilir olup olmadığından emin olun (ve siz de kontrol ettiğiniz dosyaya erişiminiz gerekir). Dosyayı değiştirmeyi reddediyorsa, onlar da size yazılabilir olmalıdır. Aşama 1: Masanızı kontrol edin Koş myisamchk *. Bilginiz veya (myisamchk -e *. Eğer daha fazla zamanınız varsa, bu da bilinmez mi). Gereksiz bilgileri devre dışı bırakmak için -s (sessizlik) seçeneğini kullanın.
MySQL'in veri depolamak için kullandığı dosya formatı kapsamlı şekilde test edilmiştir, ancak veritabanı tablolarının bozulmasına neden olabilecek harici koşullar her zaman vardır: MySQL süreci tek yazımda öldürülür; Bilgisayarın beklenmedik bir şekilde kapanması (örneğin, bilgisayar güç kaybederse); Donanım hatası. Bu bölüm, MySQL veritabanında veri bozulmasının nasıl kontrol edileceğini ve nasıl yönetileceğini açıklar. Masanız çok hasarlıysa, nedenini öğrenmeye çalışmalısınız! Bkz. G.1 MySQL sunucusunu hata ayıklama. Çökme kurtarma yapılırken, veritabanındaki her tablonun veritabanı dizinindeki 3 dosyaya karşılık geldiğini anlamak önemlidir tbl_name |