Membersihkan dan Mengecilkan Fail ibdata1 dalam MySQL
Semasa memanfaatkan MySQL untuk analisis data dalam R, pengguna mungkin menghadapi masalah di mana saiz fail ibdata1 berkembang secara berlebihan walaupun tidak mempunyai data yang disimpan. Artikel ini menangani masalah ini dan menyediakan penyelesaian yang komprehensif.
Punca Pertumbuhan Fail ibdata1
Fail ibdata1 mengandungi data dan indeks jadual yang disimpan dalam ruang meja kongsi. Secara lalai, MySQL menyimpan semua jadual dalam fail tunggal ini, menyebabkan ia berkembang secara berterusan. Memadam pangkalan data dan jadual hanya mengalih keluar metadatanya daripada pelayan, tetapi fail itu sendiri kekal tidak berubah.
Penyelesaian: Dayakan Asingkan Fail-per-Jadual
Untuk mengelakkan ibdata1 fail daripada berkembang secara berlebihan, konfigurasikan MySQL untuk menyimpan setiap jadual dan indeksnya sebagai fail berasingan. Ini kini didayakan secara lalai dalam MySQL 5.6.6 dan versi yang lebih baru. Jika menggunakan versi terdahulu, tambahkan baris berikut pada fail my.cnf:
[mysqld] innodb_file_per_table=1
Ini akan memastikan pangkalan data dan jadual yang baru dibuat menggunakan fail ibd* yang berasingan dan bukannya ibdata1.
Menuntut semula Ruang daripada ibdata1
Untuk melepaskan ruang yang diduduki oleh ibdata1, ikuti langkah berikut:
Proses ini akan memadamkan semua jadual dan data, jadi pastikan anda telah membuat sandaran maklumat yang diperlukan sebelum meneruskan.
Nota tentang Skema Maklumat
Skema_maklumat ialah koleksi pandangan baca sahaja, bukan pandangan sebenar meja. Ia tidak mengisi sebarang fail pada cakera dan dijana semula apabila MySQL dimulakan semula. Oleh itu, menjatuhkannya tidak mempunyai kesan pada saiz fail ibdata1.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengurangkan Saiz Fail MySQL ibdata1 Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!