Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Membersih Enjin Storan InnoDB Saya dengan Cekap untuk Meningkatkan Prestasi Pangkalan Data?

Bagaimanakah Saya Boleh Membersih Enjin Storan InnoDB Saya dengan Cekap untuk Meningkatkan Prestasi Pangkalan Data?

Patricia Arquette
Lepaskan: 2024-12-16 16:51:15
asal
993 orang telah melayarinya

How Can I Efficiently Clean Up My InnoDB Storage Engine to Improve Database Performance?

Cara Membersihkan Enjin Storan InnoDB

Walaupun kelebihannya, enjin storan InnoDB boleh menjadi berselerak dengan data daripada jadual yang dipadamkan, berpotensi kembung pangkalan data dari semasa ke semasa. Untuk membersihkan data yang tidak diperlukan ini dan mengekalkan kecekapan pangkalan data, ikuti langkah berikut:

Langkah 1: Buang Data Pangkalan Data

Eksport keseluruhan pangkalan data ke dalam fail teks SQL menggunakan mysqldump . Sebagai contoh, anda boleh mencipta fail bernama SQLData.sql.

Langkah 2: Gugurkan Pangkalan Data

Padam semua pangkalan data kecuali mysql dan information_schema. Pastikan anda mempunyai semua geran pengguna dengan menyalin direktori mysql ke lokasi sandaran (/var/lib/mysql_grants).

Langkah 3: Flush Transactional Changes

Jalankan arahan SET GLOBAL innodb_fast_shutdown = 0; untuk membersihkan sebarang perubahan transaksi yang tinggal.

Langkah 4: Matikan dan Ubah Suai Konfigurasi

Matikan MySQL dan tambahkan baris berikut pada fail /etc/my.cnf anda:

[mysqld]
innodb_file_per_table
innodb_flush_method=O_DIRECT
innodb_log_file_size=1G
innodb_buffer_pool_size=4G
Salin selepas log masuk

Langkah 5: Bersihkan Fail

Padam ibdata dan ib_logfile fail daripada direktori data MySQL anda.

Langkah 6: Mulakan semula MySQL

Mulakan semula MySQL untuk mencipta semula ibdata1 dan ib_logfile* fail.

Langkah 7: Import Data

Import fail SQLData.sql yang dibuang sebelum ini untuk memulihkan data pangkalan data anda.

Selepas melengkapkan langkah ini, ibdata1 akan mengandungi hanya metadata jadual, manakala setiap jadual InnoDB akan disimpan secara berasingan. Menjalankan OPTIMIZE TABLE kini akan mengecilkan fail jadual (/var/lib/mysql/mydb/mytable.ibd) dengan berkesan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membersih Enjin Storan InnoDB Saya dengan Cekap untuk Meningkatkan Prestasi Pangkalan Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan