Kouhei Sutou
kou****@clear*****
2015年 12月 23日 (水) 18:55:02 JST
須藤です。 In <20151****@syste*****> "Re: [groonga-dev,03791] Re: MariaDBバンドル版でテーブルがクラッシュ" on Mon, 21 Dec 2015 19:40:04 +0900, 石橋 卓見 <ishib****@syste*****> wrote: >> 石橋さんの環境ではシャットダウン時にクラッシュしていましたか? >> それともシャットダウン後、アクセスしたらクラッシュするように >> なっていましたか? > > 以下、再現手順です。 ありがとうございます! とても助かります! > 5) Windowsを起動後に下記のコマンドで再現します。 > $ mysql -h localhost -u root -Ddbx >> select * from DBX.TBL_INBOX_INFO_S; > > ERROR 1016 (HY000) at line 5: [db][open] invalid keys table's type: 0 このメッセージは、「メモリー上のデータがディスクに書き出され ないまま消えてしまったデータベース」を開いたときにでる典型的 なメッセージなので、メモリー上のデータが消えているんだと思い ます。 対策はFLUSH TABLESをするか、ちゃんと終了するか、なので、 > (クラッシュさせない為の暫定対応) > 1.Windowsのシャットダウン前にFLUSH TABLESを実行 > 2.Windowsのコントロール パネル ⇒ ハードウェアとサウンド ⇒ > 電源オプション ⇒ システム設定 ⇒ > 「高速スタートアップを有効にする(推奨)」のチェックをOFFに > する。(WindowsのデフォルトON) のどちらも正しい対策です。 > 調査したところ、下記のどちらかの対応で再現しなくなりましたので > 念のため、ご報告いたします。2.が有効な理由はよくわかっており > ません。 「高速スタートアップ」のときは高速にシャットダウンするために、 MySQLがちゃんと終了する前にOSから殺されていると思います。 MySQLのログで確認できると思います。あるいは、groonga.logに 「grn_fin」とでていないことでも確認できると思います。 > 今回、貴重なお時間をいただき恐縮です。ご相談に乗っていただき大変 > ありがとうございました。 いえいえ、対策方法を共有してもらって助かります! 他の人の参考になるはずです。 -- 須藤 功平 <kou****@clear*****> 株式会社クリアコード <http://www.clear-code.com/> Groongaベースの全文検索システムを総合サポート: http://groonga.org/ja/support/ パッチ採用 - プログラミングが楽しい人向けの採用プロセス: http://www.clear-code.com/recruitment/ リーダブルコードワークショップ: http://www.clear-code.com/services/code-reader/readable-code-workshop.html