# テーブルとインデックスの変更とは、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 メソッドを使用してテーブルを再構築する必要がある場合は、「null」変更を使用できます。 ALTER TABLE ステートメントを使用してテーブルを変更し、ストレージ エンジンを使用できるようにすることができます。例を見てみましょう: TblName が InnoDB テーブルであるとします。次のステートメントを使用してテーブルを再構築できます -
ALTER TABLE TblName ENGINE = InnoDB;
REPAIR TABLE メソッドは MyISAM、ARCHIVE でのみ使用できます。および CSV テーブル。テーブルチェック操作により、ファイルが破損しているか、アップグレードする必要があることが示された場合は、ステートメント REPAIR TABLE を使用できます。例を挙げてみましょう。 MyISAM テーブルを修復するには、次のステートメントを実行できます。 -
REPAIR TABLE TblName;
mysqlcheck --repair REPAIR TABLE ステートメントへのコマンド ライン アクセスを提供します。 --databases を使用してデータベース内の特定のテーブルを修復したり、 --all-databases オプションを使用してすべてのデータベース内のすべてのテーブルを修復したりできるため、これはテーブルを修復するためのより便利な方法である可能性があります。これは、次のコマンドを使用して実行できます -
mysqlcheck −−repair −−databases db_name ... mysqlcheck −−repair −−all−databases
以上がMySQL テーブルまたはインデックスを再構築または修復するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。