001-006179
バージョン 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のバッファリングの制御設定を行います。
- Webサーバーを停止します。
- スケジューリングサービスを停止します。
- my.iniに次の内容を追加します。
例:
------------------------------------
[mysqld]
innodb_change_buffering = inserts
------------------------------------
補足:
innodb_change_bufferingは、未設定の状態では「all」が適用されます。
- データベースエンジンを再起動します。
- スケジューリングサービスを起動します。
- 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 タイトル及び現象詳細を更新しました。