ホームページ > データベース > mysql チュートリアル > InnoDB ストレージ エンジンを効率的にクリーンアップしてデータベースのパフォーマンスを向上するにはどうすればよいですか?

InnoDB ストレージ エンジンを効率的にクリーンアップしてデータベースのパフォーマンスを向上するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-16 16:51:15
オリジナル
993 人が閲覧しました

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

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート