Windows版のMySQL3.23.58でレプリケーションを行うと強制終了する

presented by 役に立つかもしれないBlog

クラッシュ時の表示ダイアログ画面

MySQLのバグレポートに載っていたので掲載。

Slave Start cause Mysql server to crash」にあるように、Windows版のmysql-3.23.58-win.zipを利用してサーバを立てると、レプリケーションを行う際の「SLAVE START」コマンド実行時に強制終了(クラッシュ)します。

内容は定番の「問題が発生したため、mysqld-max.exe を終了します。 ご不便をおかけして申し訳ありません。」というもの。

mysql> CHANGE MASTER TO
         > MASTER_HOST='192.168.1.10',
         > ...
Query OK, 0 rows affected (0.00 sec)

mysql> SLAVE START;  (←ここでクラッシュ)

この現象を報告したユーザーによると、3.23.56や4.0.16では起こらず3.23.57と3.23.58のみで起こる現象とのこと。 また彼はWindows 2000で確認していますが、Windows XPでも同様の症状が発生します。 私が確認した時もInnoDBをサポートさせるため、mysqld-maxを利用した場合でした。

回避法

MySQLサーバーがWindowsのサービスとして実行されているものとして解説します。

もし、インストールする際にデフォルトのコマンド(例えば「mysqld-nt --install」)を利用してインストールしたのであれば、MySQLサービスがローカルシステムアカウントで実行されているためかとおもわれます。 Windowsではローカルシステムアカウントはリモートマシンに対して認証を許可しないからです(mysqldにはこのことを確認するコードがありますが)。

解決するためには以下のいずれかを試してください:

うまくできない方はいっそのことバージョンを上げてMySQL4.0.26辺りを使うのが良いかもしれません。 MySQL4.0.26では問題なくレプリケーションができます。

    このエントリーをはてなブックマークに追加

このページに関連のある記事はこちら