自宅サーバの整理箱

自宅サーバを構築しwordpress,fedora,CentOSの作業メモ

*

wordpressで使うMysqlのMyISAMテーブルを修復した

   

ある日の出来事ですが、自宅サーバで運用しているMysqlデータベースのログにエラーが出力されていました。
MySQLロゴ

英語を翻訳するとMyISAM テーブルの1つが破損しているとのこと。早速修復してみました。

MyISAMテーブルn状態を確認するコマンドは
$ CHECK TABLE [テーブル名]
修復するコマンドは
$ REPAIR TABLE [テーブル名]

MySAMテーブル修復の実践

WordPressはプラグイン等によりますが、複数のテーブルがありますので一括でチェックしてみます。格納場所は/var/lib/mysql/mysqlあたりになりますので、自分の環境でチェックしてみて下さい。

$ cd /var/lib/mysql/mysql
$ myisamchk -e -s *.MYI

エラーがある場合は簡単修復モードで修復を試みます。

$ myisamchk -r -q [テーブル名]

無事修復できれば完了になります。r -q は 「クイック リカバリ モード」 で実行するという意味になります。 データ ファイルには触れずにインデックス ファイルの修復だけを行います。

データ ファイルに必要なデータがすべて揃っていて、削除リンクがデータ ファイル内の正しい位置を指していれば、テーブルは正常に修復できます。

インデックスの修復のみで回復できない場合はデータ領域も修復します。データ領域を削除しますので、バックアップを事前に取得して下さい。

$ myisamchk -r [テーブル名]

-r は 「リカバリ モード」 で実行するという意味です。これは、不正なレコードとデータ ファイルから削除したレコードを取り除いて、インデックス ファイルを再構築します。

 - MySQL, Word Press

 Total 193 views