MySQLのレプリケーション貼り方。
これ滅多に設定やるものでみないので、時間たつと毎回忘れる。
メモとってみる。
masterサーバー
① Masterのデータベースをロックする
mysql -u root -p -e ‘FLUSH TABLES WITH READ LOCK;’
② Masterの「File」と「Position」の値をチェック
mysql -u root -p -e ‘SHOW MASTER STATUS;’
③ Masterのデータベースのバックアップを取る
mysqldump -u root -p rails_production > rails_production.sql
④ Masterのロックを外す
mysql -u root -p -e ‘UNLOCK TABLES;’
⑤ SlaveにMasterのデータをコピーする
mysql -u admin -p -h slave.com rails_production < rails_production.sql
⑥ Slaveを一旦ストップ
mysql -u admin -p -h slave.com -e ‘STOP SLAVE;’
⑦ Slave側でReplicationの設定をする
mysql -u admin -p -h slave.com -e ”
CHANGE MASTER TO MASTER_HOST=’***.***.***’,
MASTER_USER=’slave’,
MASTER_PASSWORD=’slave_password’,
MASTER_LOG_FILE=’mysqld-bin.000001′,
MASTER_LOG_POS=98;”
⑧ Slaveをスタートする
mysql -u admin -p -h slave.com -e ‘START SLAVE;’
レプリケーション状態を確認するためには
SHOW SLAVE STATUS\G
参考サイト
http://programnet.hp.infoseek.co.jp/database/backup.html
http://deploy.winefun.jp/