ホームページ  >  記事  >  データベース  >  MySQL テーブルまたはインデックスを再構築または修復する

MySQL テーブルまたはインデックスを再構築または修復する

WBOY
WBOY転載
2023-09-03 10:57:02935ブラウズ

重建或修复 MySQL 表或索引

# テーブルとインデックスの変更とは、MySQL がデータ型と文字セットを処理する方法を指します。 CHECK TABLE、mysqlcheck、または mysql_upgrade は、必要なテーブルの修復またはアップグレードを報告します。

テーブルを再構築する

テーブルを再構築するにはさまざまな方法があります。これらのメソッドの一部を以下に示します。 -

  • ダンプおよびリロード メソッド

  • ALTER TABLE メソッド

  • テーブルの修復メソッド

簡単に理解しましょう -

ダンプとリロードのメソッド

MySQL のバージョンが異なる場合は、このダンプとリロードを実行します。このメソッドは、バイナリ (インプレース) アップグレードまたはダウンロード後にテーブルを処理できず、テーブルを再構築する必要がある場合に必要です。

テーブルは、ダンプと再ロードによって再構築できます。これは、「mysqldump」を使用してダンプ ファイルを作成し、mysql がそのファイルをリロードできるようにすることで実行できます。これは、次のコマンドを使用して実行できます。 -

mysqldump db_name t1 > dump.sql
mysql db_name < dump.sql

すべてのテーブルを単一のデータベースに再構築する必要がある場合は、テーブル名を使用せずにデータベース名を指定できます。これは、次のコマンドを使用して実行できます。 -

mysqldump db_name > dump.sql
mysql db_name < dump.sql

すべてのデータベースのすべてのテーブルを再構築する必要がある場合は、「--all Databases」オプションを使用する必要があります。これは、次のコマンドを使用して実行できます。 -

mysqldump --all-databases > dump.sql
mysql < dump.sql

ALTER TABLE メソッド

ALTER TABLE メソッドを使用してテーブルを再構築する必要がある場合は、「null」変更を使用できます。 ALTER TABLE ステートメントを使用してテーブルを変更し、ストレージ エンジンを使用できるようにすることができます。例を見てみましょう: TblName が InnoDB テーブルであるとします。次のステートメントを使用してテーブルを再構築できます -

ALTER TABLE TblName ENGINE = InnoDB;

REPAIR TABLE メソッド

REPAIR TABLE メソッドは MyISAM、ARCHIVE でのみ使用できます。および CSV テーブル。テーブルチェック操作により、ファイルが破損しているか、アップグレードする必要があることが示された場合は、ステートメント REPAIR TABLE を使用できます。例を挙げてみましょう。 MyISAM テーブルを修復するには、次のステートメントを実行できます。 -

REPAIR TABLE TblName;

mysqlcheck --repair REPAIR TABLE ステートメントへのコマンド ライン アクセスを提供します。 --databases を使用してデータベース内の特定のテーブルを修復したり、 --all-databases オプションを使用してすべてのデータベース内のすべてのテーブルを修復したりできるため、これはテーブルを修復するためのより便利な方法である可能性があります。これは、次のコマンドを使用して実行できます -

mysqlcheck &minus;&minus;repair &minus;&minus;databases db_name ...
mysqlcheck &minus;&minus;repair &minus;&minus;all&minus;databases

以上がMySQL テーブルまたはインデックスを再構築または修復するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。