MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

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


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

テーブルを再構築する

テーブルを再構築する方法はたくさんあります。それらのいくつかは以下にリストされています-

  • ダンプとリロードの方法

  • ALTERTABLEメソッド

  • REPAIRTABLEメソッド

それぞれを簡単に理解しましょう-

ダンプとリロードの方法

バイナリ(インプレース)アップグレードまたはダウンロード後に異なるバージョンのMySQLバージョンがテーブルを処理できないためにテーブルが再構築されている場合は、このダンプとリロードの方法を使用する必要があります。

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

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

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

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

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

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

ALTERTABLEメソッド

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

ALTER TABLE TblName ENGINE = InnoDB;

REPAIRTABLEメソッド

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

REPAIR TABLE TblName;

mysqlcheck --- repairは、REPAIRTABLEステートメントへのコマンドラインアクセスを提供します。これは、---データベースを使用してデータベース内の特定のテーブルを修復したり、--- all-databasesオプションを使用してすべてのデータベース内のすべてのテーブルを修復したりできるため、テーブルを修復するためのより便利な手段になります。以下のコマンドを使用して実行できます-

mysqlcheck −−repair −−databases db_name ...
mysqlcheck −−repair −−all−databases

  1. HTMLテーブル

    HTMLテーブルは、タグを使用してテーブルを作成するために使用されます。テーブルでは、各行はタグを使用して指定され、テーブルヘッダーはタグを使用して定義されます。テーブルデータは、タグを使用して定義されます。 構文 以下は構文です- <table> <tr> <th>Table Header</th> <th>Table Header</th> </tr> <tr> <td>Table data</td> <td>Table data</td> &l

  2. インデックスを使用してMySQLテーブルを作成するにはどうすればよいですか?

    インデックスを使用してMySQLテーブルを作成するための構文は、次のとおりです- create table yourTableName ( yourColumnName1 dataType, yourColumnName2 dataType . . . N ); create index yourIndexName1 on(yourColumnName1 ); create index yourIndexName2 on(yourColumnName2 ); まずテーブルを作成しましょう- mysql> create table DemoTable    ->