InnoDB ストレージ エンジンをクリーンアップする方法
その利点にもかかわらず、InnoDB ストレージ エンジンは削除されたテーブルのデータで乱雑になり、肥大化する可能性があります。データベースは時間の経過とともに変化します。この不要なデータをクリーンアップしてデータベースの効率を維持するには、次の手順に従います。
ステップ 1: データベース データをダンプする
mysqldump を使用してデータベース全体を SQL テキスト ファイルにエクスポートします。 。たとえば、SQLData.sql という名前のファイルを作成できます。
ステップ 2: データベースを削除
mysql と information_schema を除くすべてのデータベースを削除します。 mysql ディレクトリをバックアップの場所 (/var/lib/mysql_grants) にコピーして、すべてのユーザー権限があることを確認します。
ステップ 3: トランザクションの変更をフラッシュ
コマンド SET GLOBAL innodb_fast_shutdown = 0;残っているトランザクションの変更をパージします。
ステップ 4: シャットダウンして構成を変更する
MySQL をシャットダウンし、/etc/my.cnf ファイルに次の行を追加します。
[mysqld] innodb_file_per_table innodb_flush_method=O_DIRECT innodb_log_file_size=1G innodb_buffer_pool_size=4G
ステップ 5: クリーンアップファイル
MySQL データ ディレクトリから ibdata および ib_logfile ファイルを削除します。
ステップ 6: MySQL を再起動します
MySQL を再起動して ibdata1 と ib_logfile* を再作成します。 files.
ステップ 7: データのインポート
以前にダンプした SQLData.sql ファイルをインポートしてデータベース データを復元します。
これらの手順を完了したら、 ibdata1 にはテーブルのメタデータのみが含まれますが、各 InnoDB テーブルは独立して保存されます。 OPTIMIZE TABLE を実行すると、テーブル ファイル (/var/lib/mysql/mydb/mytable.ibd) が効果的に縮小されます。
以上がInnoDB ストレージ エンジンを効率的にクリーンアップしてデータベースのパフォーマンスを向上するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。