2 tane tabloma 8 milyon tane row eklendi.
yanlışlıkla eklenen rowları "delete from" metoduyla sildim. ancak anladığım kadarıyla arkada bunun etkisi sürüypr, çünkü hala bu tablolara yaptığım query'ler hayvan gibi kasıyor.
/var/lib/mysql/dbadi klasörünün içinde tablo.MYD isimli dosya var. 3.5gb gözüküyor. sanırım kastırmasının sebebi bu. ama bu dosyayı kaldırırsam mysql çalışmayı durduruyor. nasıl temizleyecem yav ben bu işi?
shrink yap olmazsa bi?
Önce çalışan process'leri (mysql içinden) kill et. Sonra da truncate table yap.
abi tabloyu truncate edemem, fazla data bastım ama kullanışlı bir sürü kaydım da var aynı zamanda. yani tablodaki 8 milyon kaydı sildim, 80bin kayıt duruyor.
Ozaman optimize etmeyei deneyebilirsin.
OPTIMIZE TABLE tabloAdi;
Bundan sonra bide mysql'i düzgün yoldan durdurup geri başlatırsan sorun kalmaz heralde.
Bu arada datanın kendisi MYD dosyasında duruyor zaten, onu sileyim deme.
Optimize'da olmazsa eğer table engine'i InnoDB'ye çevir. Zaten MyIsam'dan özel bir ihtiyacın yoksa eğer MyIsam yerine InnoDB ile devam etmen daha iyi olur.
Eğer tablo InnoDB olarak yaratılmışsa manuel olarak shrink vs olmuyor MyIsam olması gerekiyor sen db'yi ihtiyacın olacak şekilde temizlediysen eğer diskinde yeterince yer varsa Mysql servisini durdurup yeniden çalıştır InnoDb gerekeni yapacak ve tablolarını yeniden düzenleyecektir.