001-006179

パッケージ版 Garoon

関心あり
1人の方が関心を示しています

バージョン 3.5.xのガルーンで、MySQLのデータに不整合が発生すると、MySQLが起動しなくなる場合がある。

種別
不具合
機能
  • 全般
再現バージョン
  • 3.5.0
  • 3.5.1
  • 3.5.2
  • 3.5.3
  • 3.5.4
改修バージョン
3.5.5
公開日
2013-05-10
更新日
2013-05-31

詳細

バージョン 3.5.xのガルーンで利用しているMySQL 5.5で、MySQLが起動しなくなり、次の現象が発生する場合があります。

  • error.logに「InnoDB: Failing assertion: page_get_n_recs(page) > 1」を含んだログが繰り返し出力され、MySQLが起動できなくなります。

  • 次のエラーメッセージが表示され、ガルーンが利用できなくなります。
    ---------------------------------
    DB02002: DBエンジンにてローカル接続に失敗しました。
    ---------------------------------

 

補足:

  • 本現象はMySQLの不具合によるものです。
    詳細については、次のページを参照してください。
    http://bugs.mysql.com/bug.php?id=61104

  • バージョン 3.1.x以前と、バージョン 3.7.0以降のガルーンは、本不具合の影響を受けません。

回避/対応方法

【回避方法】

 

my.iniにinnodb_change_bufferingの設定を追加し、「inserts」を設定することで、回避できます。
この設定により、不具合の発生するChange Buffering機能をMySQL 5.1.x相当に戻します。

 

補足:
innodb_change_buffering:
InnoDBのバッファリングの制御設定を行います。

  1. Webサーバーを停止します。

  2. スケジューリングサービスを停止します。

  3. my.iniに次の内容を追加します。

    例:
    ------------------------------------
    [mysqld]
    innodb_change_buffering = inserts
    ------------------------------------

    補足:
    innodb_change_bufferingは、未設定の状態では「all」が適用されます。

  4. データベースエンジンを再起動します。

  5. スケジューリングサービスを起動します。

  6. Webサーバーを起動します。

    補足:
    my.iniは次のディレクトリーに配置されています。

    Windowsの場合:

    (インストールディレクトリ)¥mysql-5.0¥etc¥my.ini

    Linuxの場合:

    (インストールディレクトリ)/mysql-5.0/etc/my.ini

 

また、バージョン 3.7.0以降のガルーンは本不具合の影響を受けないため、バージョン 3.7.0以降のバージョンへのバージョンアップを行なうことで回避できます。

     

    【対応方法】

     

    現象が発生した場合は、mysqldumpを使用してガルーンのバックアップデータをリストアします。

     

    補足:

    • mysqldumpを使用して、事前にガルーンのデータをバックアップしておく必要があります。

    • バックアップ、リストアの手順については、ガルーン管理者マニュアルをご確認下さい。

     

    ------------------------------------------------------------
    【更新履歴】
    2013/05/31 改修バージョンを追加しました。
    2013/05/24 タイトル及び現象詳細を更新しました。