ホームページ >データベース >mysql チュートリアル >MySQL で ibdata1 ファイルをパージおよび圧縮するにはどうすればよいですか?

MySQL で ibdata1 ファイルをパージおよび圧縮するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-04 15:13:11208ブラウズ

How Can I Purge and Shrink the ibdata1 File in MySQL?

MySQL の Ibdata1 ファイルをパージして圧縮する

MySQL でデータベースを削除しても、ibdata1 ファイルのサイズが蓄積し、パフォーマンスの問題が発生する可能性があります。これに対処するために、MySQL では、個々のテーブルとインデックスを ibdata1 に保存するのではなく、個別のファイルを使用するように構成できます。

個別のテーブル ファイルの構成

次の設定を追加しますmy.cnf ファイルに:

[mysqld]
innodb_file_per_table=1

変更を有効にするために MySQL を再起動します。これにより、新しいテーブルが独自の ibd* ファイルで確実に作成されます。

Ibdata1 からのスペースの再利用

ibdata1 からスペースを再利用するには、次の手順に従います。

  1. mysql と mysql を除くすべてのデータベースのダンプを作成します。 Performance_schema.
  2. mysql と Performance_schema を除くすべてのデータベースを削除します。
  3. MySQL を停止します。
  4. ibdata1 および ib_log ファイルを削除します。
  5. MySQL を起動します。
  6. データベースを次の場所から復元します。 dump.

再起動すると、MySQL は新しい ibdata1 および ib_log ファイルを作成します。分析用に新しいデータベースを作成する場合、ibdata1 ではなく個々の ibd* ファイルが使用されます。

テーブル サイズの最適化

ALTER TABLE の使用ENGINE=innodb または OPTIMIZE TABLE コマンドは、データとインデックス ページを ibdata1 から別のファイルに移動できます。ただし、ibdata1 は、上記の手順を実行しないと縮小されません。

追加メモ

  • information_schema データベースには、読み取り専用のビューが含まれているため、削除できません。
  • MySQL Enterprise Edition には、ibdata1 を圧縮するための追加機能が用意されていますが、 Community Edition では利用できません。

以上がMySQL で ibdata1 ファイルをパージおよび圧縮するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。