Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk mengurus dan menyelenggara fail ibd dalam pangkalan data MySQL dengan berkesan

Bagaimana untuk mengurus dan menyelenggara fail ibd dalam pangkalan data MySQL dengan berkesan

王林
王林asal
2024-03-16 11:21:031201semak imbas

Bagaimana untuk mengurus dan menyelenggara fail ibd dalam pangkalan data MySQL dengan berkesan

Dalam pangkalan data MySQL, setiap jadual InnoDB sepadan dengan fail .ibd, yang menyimpan data dan indeks jadual. Oleh itu, untuk pengurusan dan penyelenggaraan pangkalan data MySQL, pengurusan fail ibd juga amat penting. Artikel ini akan memperkenalkan cara mengurus dan menyelenggara fail ibd dengan berkesan dalam pangkalan data MySQL dan menyediakan contoh kod khusus.

1. Semak dan optimumkan ruang jadual

Pertama, kita boleh menggunakan pernyataan SQL berikut untuk menyemak penggunaan ruang cakera jadual:

SELECT 
    TABLE_NAME,
    ROUND((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024, 2) AS SIZE_MB
FROM 
    INFORMATION_SCHEMA.TABLES 
WHERE 
    TABLE_SCHEMA = 'database_name';

Kod ini boleh membantu kami memahami saiz setiap jadual dan memastikan data yang tidak diperlukan adalah dibersihkan dalam masa , kosongkan ruang cakera. Jika anda mendapati jadual terlalu besar atau mengandungi sejumlah besar data tidak berguna, anda boleh mempertimbangkan untuk mengoptimumkannya.

2. Pindahkan fail ibd

Kadangkala, kita mungkin perlu memindahkan data jadual tertentu dari satu pangkalan data ke pangkalan data yang lain. Pada masa ini, anda boleh memindahkan fail .ibd yang sepadan melalui langkah berikut:

  1. Sandarkan struktur jadual dan data dalam pangkalan data sumber.
  2. Salin fail .ibd jadual sepadan pangkalan data sumber ke direktori data pangkalan data sasaran.
  3. Buat struktur jadual yang sama dalam pangkalan data sasaran seperti jadual dalam pangkalan data sumber.
  4. Gunakan arahan berikut untuk mengimport data:
ALTER TABLE table_name IMPORT TABLESPACE;

3. Baiki fail ibd yang rosak

Apabila anda mendapati fail .ibd rosak atau tidak normal, anda boleh cuba membaikinya melalui langkah berikut:

  1. Mula-mula, sandarkan data untuk Mencegah kehilangan data semasa proses pembaikan.
  2. Cuba perbaikinya melalui arahan berikut:
ALTER TABLE table_name DISCARD TABLESPACE;
ALTER TABLE table_name IMPORT TABLESPACE;

4 Pantau dan tala ruang jadual

Sangat perlu untuk memantau penggunaan ruang jadual secara berkala. Anda boleh menggunakan pernyataan SQL berikut untuk melihat pemecahan daripada jadual:

SELECT 
    table_name,
    data_free
FROM 
    information_schema.tables
WHERE 
    data_free > 0;

Jika anda menjumpai jadual yang berserpihan teruk, anda boleh mempertimbangkan untuk menggunakan perintah OPTIMIZE TABLE untuk menyahfragmennya.

5. Bersihkan data tamat tempoh dan fail log

Pembersihan tetap data dan fail log tamat tempoh juga merupakan operasi penting untuk menyelenggara pangkalan data MySQL Ia boleh dibersihkan dengan langkah berikut:

  1. Membersihkan data tamat tempoh:
DELETE FROM table_name WHERE expire_date < NOW();
.
  1. Bersihkan fail log:
PURGE BINARY LOGS BEFORE '2022-01-01';

Melalui langkah di atas, anda boleh mengurus dan menyelenggara fail ibd dalam pangkalan data MySQL dengan berkesan untuk memastikan kestabilan dan prestasi pangkalan data. Semoga kandungan di atas dapat membantu anda.

Atas ialah kandungan terperinci Bagaimana untuk mengurus dan menyelenggara fail ibd dalam pangkalan data MySQL dengan berkesan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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