2008年05月16日

Table 'xxxxxxx' is marked as crashed and should be repaired

どうもサイトが重い。。
ここ数日何があったんだろうと思っていたら単純にアクセス数が倍増してました。
嬉しい悲鳴とはこの事でアクセスが多すぎでサイトが固まっちゃってるΣ( ̄□ ̄;)!!

とりあえずログを確認。
う〜ん。SQLが重いのかな。
重いといっても1クエリ0.3秒位なんですが、仕様上1アクセスで数回のクエリが走るので馬鹿にならないんです。

と言うことでindexを追加。

create index index_name on table_name(column_name1,column_name2);

えい!


「Table 'xxxxxxxx' is marked as crashed and should be repaired」

(‘0‘@)

これなんですか?
初めて見る現象で戸惑いながらもとりあえずMySQLのテーブルが壊れてる所があるって事は分かった。
checkってコマンドがあるようなので調べてみる。


check table table_name;

えい!


+--------------------+-------+----------+----------------------------------------------------------+
| Table | Op | Msg_type | Msg_text |
+--------------------+-------+----------+----------------------------------------------------------+
| db_name.table_name | check | warning | 4 clients are using or haven't closed the table properly |
| db_name.table_name | check | error | Wrong bytesec: 49-54-46 at linkstart: 79619752 |
| db_name.table_name | check | error | Corrupt |
+--------------------+-------+----------+----------------------------------------------------------+

ヘ(゜Д、゜)ノ

さ、細かいことは良いとしてrepairと言うコマンドがあるようなので修復。
ちゃんとDBのバックアップはしておきましょう。


repair table table_name;


+--------------------+--------+----------+-------------------------------------------------+
| Table | Op | Msg_type | Msg_text |
+--------------------+--------+----------+-------------------------------------------------+
| db_name.table_name | repair | info | Wrong bytesec: 49- 54- 46 at 79619752; Skipped |
| db_name.table_name | repair | warning | Number of rows changed from 164660 to 164659 |
| db_name.table_name | repair | status | OK |
+--------------------+--------+----------+-------------------------------------------------+

ヾ(*´▽`)ツ

上手くいったみたいです。(ほっ=3)

MySQLのテーブルは通常であればクラッシュする事はないはずですが、
テーブル更新中にmysqldが止まってしまうと起こりうるそうです。
先日アクセス過多の際に取り急ぎの措置としてApacheの最大接続数をかなり引き上げた事によりサーバ自体がダウンしてしまったのが原因だと思います。
障害が発生した場合は
check table テーブル名;
でテーブルのエラーを調べることができます。
repair table テーブル名;
でテーブルの修復を行う事ができます。
但しrepair table は MyISAMテーブルでしか使えないので要注意です。
repairした後はもう一回check tableしておきましょう。

さて・・・なんか忘れてると思ったら・・・
インデックス作るの忘れてたー!!w( ̄Д ̄;)w


roid2008 at 02:46コメント(0)トラックバック(0)SYSTEM  

トラックバックURL

コメントする

名前:
URL:
  情報を記憶: 評価:  顔   星
 
 
 
QRコード
QRコード
  • ライブドアブログ