2011年8月25日木曜日

MySQLのレプリケーションでマスターサーバを変更

スズキです。

EC2はStop/StartやAMIから起動し直したりすると"Private IP / Private DNS Name"が
変更されてしまいます。

MySQLのスレーブサーバで上記を直接指定している場合は、
変更されてしまうと下記のように接続エラーになってしまいます。

mysql> show slave status\G
...
Last_IO_Error: error connecting to master 'repl@ip-yyy-yyy-yyy-yyy.us-west-1.compute.internal:3306' - retry-time: 60  retries: 86400
...

このような場合は、下記のようにスレーブサーバ上で新しい"Private IP / Private DNS Name"を
指定すればOKです。

mysql> STOP SLAVE;
mysql> CHANGE MASTER TO MASTER_HOST='ip-xxx-xxx-xxx-xxx.us-west-1.compute.internal';
mysql> START SLAVE;

でも"Private IP"をhostsファイルで管理してれば、その書き換えですんだのに...
--------
http://www.suz-lab.com

0 コメント: