2008年4月24日

[mysql 14465] Re: myisamchk

こんにちは。

残念ですが、コマンドが間違っているようです。

myisamchk は MyISAM テーブルのリペアを行うコマンドであり、
最適化をするには mysqlcheck コマンドを -o オプションで使用するか
OPTIMIZE TABLE ステートメントを使用する必要があります。

また、myisamchk は mysqld オフライン時に使用しなければならないコマンドであり、
もしオンライン時に使用されたのならデータの整合性が取れなくなってしまいます。
残念ですがデータはもう戻らない公算が高いので、バックアップから戻しましょう。

MyISAM は別途レコード件数をメモリ上に保持しているので、
count(*) が結果を返したのだと思います。
--
Mikiya Okuno, Support Engineer
MySQL KK, http://www-jp.mysql.com/
Office: Ebisu IS Building, 6th floor,
13-6 Ebisu 1-chome,
Shibuya-ku, Tokyo 150-0013
Tel: 81-(0)3-5918-7523
Fax: 81-(0)3-5918-7510

Are you MySQL certified? http://www.mysql.com/certification

On 2008/04/24, at 14:49, Alex wrote:
> ALEXです。
>
>> myisamchk -r テーブル名
>
> として725万件のテーブルを最適化しようとしました。
> 処理自身はエラーなく完了したのですが、中身を参照することができなくなりま
> した。
> mysqlクライアントにて、select文を発行してもemptyとなってしまいます。
> データが存在しないのかと思って、件数を確認(select count(*) from テーブル
> 名)しましたが存在しているようです。
>
> 原因と修復方法をご存知の方はご教授頂きたく、よろしくお願い致します。
>


投稿者 xml-rpc : 2008年4月24日 15:30
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/72501
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。