Bu ibdata1daralma değil, MySQL'in özellikle can sıkıcı bir özelliğidir. ibdata1Dosyanın gerçekten, tüm veritabanlarını silmek dosyaları kaldırmak ve bir dökümü yeniden sürece küçüldü yapılamaz.
Ancak MySQL'i, dizinleri de dahil olmak üzere her tablonun ayrı bir dosya olarak saklanacağı şekilde yapılandırabilirsiniz. Bu şekilde ibdata1büyüyemez. Bill Karwin'in yorumuna göre, bu MySQL'in 5.6.6 sürümünden itibaren varsayılan olarak etkindir.
Bunu bir süre önce yaptım. Ancak, sunucunuzu her tablo için ayrı dosyalar kullanacak şekilde ayarlamak için, my.cnfaşağıdakileri etkinleştirmek üzere değiştirmeniz gerekir :
[mysqld]
innodb_file_per_table=1
http://dev.mysql.com/doc/refman/5.5/en/innodb-multiple-tablespaces.html
Sizden alanı geri almak istediğinizde ibdata1, dosyayı silmek zorundasınız:
- Ve veritabanları hariç
mysqldump tüm veritabanlarını, yordamları, tetikleyicileri vb. Yapın .mysqlperformance_schema
- Yukarıdaki 2 veritabanı hariç tüm veritabanlarını bırakın
- MySQL'i durdur
- Sil
ibdata1ve ib_logdosyalar
- MySQL'i başlat
- Dökümden geri yükle
5. adımda MySQL'i başlattığınızda ibdata1ve ib_logdosyaları yeniden oluşturulur.
Artık hazırsınız. Analiz için yeni bir veritabanı oluşturduğunuzda, tablolar içinde ibd*değil ayrı dosyalarda bulunur ibdata1. Genellikle veritabanını kısa süre sonra bıraktığınız için ibd*dosyalar silinir.
http://dev.mysql.com/doc/refman/5.1/en/drop-database.html
Muhtemelen bunu gördünüz:
http://bugs.mysql.com/bug.php?id=1341
Komut ALTER TABLE <tablename> ENGINE=innodbveya OPTIMIZE TABLE <tablename>birini kullanarak verileri ve dizin sayfalarını ibdata1'den ayrı dosyalara ayıklayabilirsiniz. Ancak, yukarıdaki adımları uygulamadığınız sürece ibdata1 küçülmez.
information_schemaBununla ilgili olarak , düşürmek gerekli ya da mümkün değildir. Aslında sadece bir demet salt okunur görünümler, tablolar değil. Ve onlarla ilişkili hiçbir dosya yok, hatta bir veritabanı dizini bile yok. Bu informations_schemabellek db-engine kullanıyor ve mysqld durdur / yeniden başlat üzerine düşürülür ve rejenere edilir. Bkz. Https://dev.mysql.com/doc/refman/5.7/en/information-schema.html .