MySQL InnoDB tidak mengosongkan ruang cakera selepas memadamkan baris data daripada jadual
P粉148434742
P粉148434742 2023-10-15 00:02:19
0
2
689

Saya mempunyai jadual MySQL menggunakan enjin storan InnoDB ia mengandungi kira-kira 2M baris data. Apabila saya memadamkan baris data daripada jadual, ia tidak membebaskan ruang cakera yang diperuntukkan. Selepas menjalankan arahan optimize table, saiz fail ibdata1 juga tidak berkurangan.

Adakah terdapat cara untuk menuntut semula ruang cakera daripada MySQL?

Saya berada dalam situasi yang teruk; apl berjalan di kira-kira 50 lokasi berbeza dan kini saya kehabisan ruang cakera di hampir kesemuanya.

P粉148434742
P粉148434742

membalas semua(2)
P粉183077097

Saya sendiri mengalami masalah yang sama.

Apa yang berlaku ialah walaupun selepas memadamkan pangkalan data, innodb masih tidak mengosongkan ruang cakera. Saya perlu mengeksport, menghentikan mysql, memadam fail secara manual, mulakan mysql, mencipta pangkalan data dan pengguna, kemudian import. Alhamdulillah saya hanya mempunyai 200MB baris tetapi ia menyimpan 250GB fail innodb.

Reka bentuk gagal.

P粉340980243

MySQL tidak mengurangkan saiz ibdata1. sekali. Walaupun anda menggunakan 优化表 untuk mengosongkan ruang yang digunakan oleh rekod yang dipadamkan, ia akan menggunakannya semula kemudian.

Kaedah lain ialah mengkonfigurasi pelayan untuk menggunakan innodb_file_per_table,但这需要备份、删除数据库和恢复。积极的一面是,在 优化表格.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan