Ⅱ. やり方
1. Master側の設定を変更する
server.cnf
[mysqld] server-id = 1 log-bin expire_logs_days = 3 max_binlog_size = 500M
2. Master側のDBをダンプする
mysqldump -u root -p --all-databases --flush-logs --single-transaction --master-data=2 > dump.sql
3. Slave側の設定を変更する
server.cnf
[mysqld] server-id=2 log-bin read_only
4. Slave側のDBをリストアする
mysql -u root -p < dump.sql
5. バイナリログ名とポジション番号を確認する
$ cat dump.sql | grep -m1 "MASTER_LOG_POS=" -- CHANGE MASTER TO MASTER_LOG_FILE='mysqld-bin.000006', MASTER_LOG_POS=387;
6. Slaveを開始する
STOP SLAVE; CHANGE MASTER TO MASTER_HOST='10.0.0.1', MASTER_PORT=3306, MASTER_USER='root', MASTER_PASSWORD='db_password', MASTER_LOG_FILE='mysqld-bin.000006', MASTER_LOG_POS=387; START SLAVE;
7. Slave状態を確認する
SHOW SLAVE STATUS\G
以下2点がYesになっていればOK
Slave_IO_Running: Yes Slave_SQL_Running: Yes
実行結果
Master側のデータがSlave側に反映されている。