人気ブログランキング | 話題のタグを見る

What Would Jesus Do?

MySQL 破損したテーブルを復旧させる

先日MySQLを操作していたら、下記のようなエラーに遭遇しました

mysql> select * from テーブル名;
ERROR 144 (HY000): Table './データベース/テーブル名' is marked as crashed and last (automatic?) repair failed

上記エラーはテーブル破損を示しています。

エラー確認としては
check table
コマンドを利用します。

mysql> check table テーブル名 quick;
+------------------+-------+----------+----------------------------------------------------------+
| Table | Op | Msg_type | Msg_text |
+------------------+-------+----------+----------------------------------------------------------+
| DB.テーブル名 | check | warning | Table is marked as crashed and last repair failed |
| DB.テーブル名 | check | warning | 1 client is using or hasn't closed the table properly |
| DB.テーブル名 | check | error | Size of datafile is: 268414976 Should be: 268871480 |
| DB.テーブル名 | check | error | Corrupt |
+------------------+-------+----------+----------------------------------------------------------+
4 rows in set (0.00 sec)

上記確認するとerror表示があるので、破損が確認できます。

破損テーブルを修復するには
repair table
コマンドを利用します。

mysql> repair table テーブル名;
+---------------+--------+----------+--------------------------------------------------------+
| Table | Op | Msg_type | Msg_text |
+---------------+--------+----------+--------------------------------------------------------+
| DB.テーブル名 | repair | info | Found block that points outside data file at 268414940 |
| DB.テーブル名 | repair | warning | Number of rows changed from 4377692 to 4370359 |
| DB.テーブル名 | repair | status | OK |
+---------------+--------+----------+--------------------------------------------------------+
3 rows in set (2 min 6.69 sec)

再度check tableコマンドで確認します。

mysql> check table MST_STATS quick;
+---------------+-------+----------+----------+
| Table | Op | Msg_type | Msg_text |
+---------------+-------+----------+----------+
| DB.テーブル名 | check | status | OK |
+---------------+-------+----------+----------+

テーブル破損で困っている方は一度試してみてください。



by cimacoppi | 2011-07-27 10:22 | MySQL

クラウド・ノイズ
by cimacoppi

検索

最新の記事

mod_line_editを..
at 2012-12-14 22:25
nagiosでOracleの..
at 2012-12-13 12:25
s3cmdでmultipar..
at 2012-12-06 15:59
tcpservr をssl化する
at 2012-03-10 21:50
telnetコマンドでpop..
at 2012-03-06 15:59

最新のトラックバック

ファン

ブログジャンル

画像一覧