コマンドラインからMySQLテーブルを修復する方法【REPAIR TABLEの使い方を解説】
MySQLテーブルの修復はMyISAMエンジン限定
MySQLのREPAIR TABLEコマンドによるテーブル修復は、MyISAMエンジンでのみ利用可能です。InnoDBエンジンのテーブルには適用できません。そのため、修復を実行する前に、対象テーブルのストレージエンジンをMyISAMに変更しておく必要があります。
以下では、テーブルの作成からエンジンの変更、修復コマンドの実行までを具体的な例とともに解説します。
1. テーブルの作成
まずは、サンプル用のテーブルを作成します。
mysql> create table RepairTableDemo -> ( -> id int, -> name varchar(100) -> ); Query OK, 0 rows affected (0.51 sec)
2. エンジンをMyISAMに変更する
作成したテーブルをMyISAMエンジンに変換するには、ALTER TABLE文を使用します。
mysql> ALTER TABLE RepairTableDemo ENGINE = MyISAM; Query OK, 0 rows affected (1.14 sec) Records: 0 Duplicates: 0 Warnings: 0
3. レコードの挿入
テーブルにテスト用のレコードを挿入します。
mysql> insert into RepairTableDemo values(1,'John'),(2,'Carol'),(3,'Johnson'); Query OK, 3 rows affected (0.06 sec) Records: 3 Duplicates: 0 Warnings: 0
4. レコードの確認
SELECT文ですべてのレコードを表示します。
mysql> select * from RepairTableDemo;
実行結果は以下の通りです。
+------+---------+ | id | name | +------+---------+ | 1 | John | | 2 | Carol | | 3 | Johnson | +------+---------+ 3 rows in set (0.00 sec)
テーブルを修復する構文
テーブルを修復する際の基本構文は以下の通りです。
REPAIR TABLE テーブル名;
実際にRepairTableDemoテーブルに対して修復を実行してみましょう。
mysql> REPAIR TABLE RepairTableDemo;
実行結果は以下の通りです。Msg_typeがstatus、Msg_textがOKと表示されており、テーブルの修復が正常に完了したことを示しています。
+--------------------------+--------+----------+----------+ | Table | Op | Msg_type | Msg_text | +--------------------------+--------+----------+----------+ | business.repairtabledemo | repair | status | OK | +--------------------------+--------+----------+----------+ 1 row in set (0.10 sec)
補足:REPAIR TABLEのオプション
REPAIR TABLE文には、より徹底的な修復を行うためのオプションも用意されています。
- QUICK:インデックス部分のみを修復します(データファイルは変更しません)。
- EXTENDED:通常の修復で解決できない場合に、行ごとに徹底的な修復を実行します。時間はかかりますが、より多くの問題を修復できる可能性があります。
- USE_FRM:.frmファイル(テーブル定義ファイル)の情報を利用してテーブル構造を再構築します。通常は使用しません。
例えば、より詳細な修復を行いたい場合は以下のように実行します。
mysql> REPAIR TABLE RepairTableDemo EXTENDED;
なお、InnoDBテーブルで破損が発生した場合は、REPAIR TABLEは使用できないため、バックアップからのリストアやinnodb_force_recoveryオプションを使った対応など、別の手法を検討する必要があります。
-
MySQLコマンドラインでデータベースを作成する方法を初心者向けに解説
MySQLコマンドラインでデータベースを作成する手順 この記事では、WindowsのコマンドプロンプトからMySQLに接続し、データベースを作成する一連の手順をスクリーンショット付きで解説します。初心者の方でも迷わず進められるよう、順番に見ていきましょう。 1. コマンドプロンプトを開く まず、コマンドプロンプトを起動します。キーボードのショートカット「Windows + R」キーを押すと、「ファイル名を指定して実行」ダイアログが表示されます。 2. 「CMD」と入力してOKをクリック 表示された入力欄に CMD と入力し、「OK」ボタンをクリックしてください。 3. コマンドプロンプトが
-
コマンドラインからUbuntuをアップグレードする方法|do-release-upgrade徹底解説
Ubuntuの「アップデートマネージャー」を使えば、新しいメジャーリリースへのアップグレードは比較的簡単に行えます。GUIのウィザードが手順を順番に案内してくれるため、初心者でも迷わず操作できるでしょう。 しかし、GUIユーティリティを使えない場面もあります。たとえばサーバー環境ではグラフィカルインターフェースにアクセスできないため、コマンドラインでアップグレード作業を行うしかありません。 とはいえ、これだけがコマンドラインを使う理由ではありません。CLIでは処理の進行状況がより詳細に表示されるのが特徴です。多くのコマンドラインツールは実行中に大量のテキストを出力するため、アップグレードの詳細