【MySQL】レプリケーション

VirtualBox複数起動でMySQL5.5のレプリケーションを試してみる。

【Master設定】
my.cnfのserver-idをSlave重複しない値にする。
お好みで[mysqld]に slave-net-timeout=10 と innodb_doublewrite=0 を設定する。

スレーブからマスターにアクセスできるようにレプリケーション用アカウントを作る。
mysql> GRANT REPLICATION SLAVE ON *.* TO repl@'%' IDENTIFIED BY 'pass';

データ変更がないように書き込みロックをする。
mysql> FLUSH TABLES WITH READ LOCK;

バイナリログのファイル名とポジションを確認する。
mysql> SHOW MASTER STATUS;

フルバックアップする
#mysqldump -u root -p db_test > backup.sql

テーブル・ロックを解除する。
mysql> UNLOCK TABLES;



【Slave設定】
my.cnfのserver-idをMasterと重複しない値にする。

Slaveを再起動する。
# /etc/init.d/mysqld restart

Masterへ接続するためのパラメータを設定する。
mysql> CHANGE MASTER TO MASTER_HOST='192.168.11.94', MASTER_USER='rep', MASTER_PASSWORD='pass', MASTER_LOG_FILE='mysql-bin.000005', MASTER_LOG_POS=12694, MASTER_CONNECT_RETRY=3;

レプリケーションを開始する。
mysql> START SLAVE;


これでOK。
それにしてもVirtualBox複数起動便利だな・・・。