- 締切済み
既存テーブルにカラム追加でサービス停止
既存のテーブルに新しいカラムを追加するSQL文をphpmyadmin上から 実行すると、1,2分ほどしてから以下のメッセージを出力してサービスが停止します。 「SHOW TABLE STATUS LIKE 'テーブルA' #2003-サーバが応答しません。」 OS:windows2003 MySQL:4.0.26 全てのテーブルについてエラーになるわけではなく、一部のテーブルのみ現象が発生します。 現象がおきているのをテーブルA,テーブルBとすると、 テーブルAはレコード件数は90万件弱ですが、カラム数が200以上あります。 テーブルBはレコード件数が700万件近くあります。 カラムの追加は3つあり、一つのSQL文で3つを追加しようとしています。 全てのカラムは既存の最後に追加します。 データ型は全てINT(20)です。 以下はエラーログです。 *** Windows2003 アプリログ ************************************************ エラー発生アプリケーション mysqld-nt.exe、 バージョン 0.0.0.0、 エラー発生モジュール mysqld-nt.exe、 バージョン 0.0.0.0、 エラー発生アドレス 0x00173539 どなたかお分かりになる方、おられましたらご教授お願いします。 この質問はMySQLメーリングリストにも投稿しています。 どちらかで回答がもらえれば、回答を掲載します。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- chukenkenkou
- ベストアンサー率43% (833/1926)
回答No.2
- chukenkenkou
- ベストアンサー率43% (833/1926)
回答No.1
お礼
アドバイスありがとうございます。 自分でいろいろ調べておりまして、MySQLのログを確認できまして原因がわかりました。 ログにはinnodb_buffer_pool_sizeが8Mしかないので、設定を見直して下さいという記述がありました。 解決策として、innodb_buffer_pool_sizeの設定値を増やして、最初はALTER文にて1つのテーブルに同時に3つのカラムを追加しようとしていたのですが、これを1つずつ追加してやることで正常に処理が完了しました。 どうもありがとうございました。