InnoDB レプリケーション設定

Master DB停止

[user@localhost]$ sudo su - root
[root@localhost]# su - mysql
[mysql@localhost]$ cd /usr/local/mysql
[mysql@localhost]$ ./bin/mysqladmin --defaults-file=/usr/local/mysql/conf/my.conf shutdown -u root -p

Master my.conf編集

[mysql@localhost]$ vi conf/my.conf
sync_binlog=1
binlog_do_db=developer
↑
追記します。

Master DB起動

[mysql@localhost]$ ./bin/mysqld_safe --defaults-file=/usr/local/mysql/conf/my.conf &

Master DBにレプリケーションユーザ作成

[mysql@localhost]$ ./bin/mysql --defaults-file=/usr/local/mysql/conf/my.conf -u root -p
mysql> CREATE USER 'repl'@'developer-db02.ne.jp' IDENTIFIED BY '*****';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'developer-db02.ne.jp';

Master DBのレプリケーション情報確認

mysql> FLUSH TABLE WITH READ LOCK;
mysql> SHOW MASTER STATUS;
| File              | Position | Binlog_Do_DB | Binlog_Ignore_DB |
| binary_log.000003 |      718 | developer    |                  |

Master DBのバックアップ

[mysql@localhost]$ tar -cvf db.tar /usr/local/mysql/data
※バックアップしたデータをSlaveへ転送します。

Slave DBにバックアップを展開

[user@localhost]$ sudo su - root
[root@localhost]# su - mysql
[mysql@localhost]$ cd /usr/local/mysql
[mysql@localhost]$ tar -xvf db.tar

Master DBのロック解除

[mysql@localhost]$ ./bin/mysql --defaults-file=/usr/local/mysql/conf/my.conf -u root -p
mysql> UNLOCK TABLES;

Slave DB起動

[mysql@localhost]$ ./bin/mysqld_safe --defaults-file=/usr/local/mysql/conf/my.conf &

Slave DBにレプリケーション情報設定

[mysql@localhost]$ ./bin/mysql --defaults-file=/usr/local/mysql/conf/my.conf -u root -p
mysql> CHANG MASTER TO
mysql>  MASTER_HOST='developer-db01.ne.jp',
mysql>  MASTER_PORT=7777,
mysql>  MASTER_USER='repl',
mysql>  MASTER_PASSWORD='*****',
mysql>  MASTER_LOG_FILE='binary_log_000003', ← Master DBで,SHOW MASTER STATUSで表示されたFileカラムの内容
mysql>  MASTER_LOG_POS=718; ← Master DBで、SHOW MASTER STATUSで表示されたPosistionカラムの内容

Slave DBで、レプリケーション開始

mysql> START SLAVE;