mysql でレプリケーション設定

■流れ
[master]ポジション取得→マスターのロック→ダンプ→アンロック
[slave]CHANGE MASTER TO〜→start slave

[確認]slaveにて
show slave status
→Slave_IO_Running,Slave_SQL_Runningが'Yes'になっていることを確認

※初期設定が必要なとき
======================================================
以下二つのディレクトリにmasterとslaveを作成

$/usr/local/mysql
$/usr/local/mysql-slave

my.cnfファイルを /usr/local/mysql配下に設定

もし初めてMySQLをインストールしたなら、データベースを初期化します。
(バージョンアップのための再インストール時には、絶対にしないこと。)

$rm -rf data
$./scripts/mysql_install_db 
$chown -R root:wheel mysql
$chown -R mysql:mysql data
$ps -ef | grep mysql

=======================================================


■スレーブに接続

$/usr/local/mysql/bin/mysql -S /tmp/mysql-slave1.sock  

■マスターに接続

/usr/local/mysql/bin/mysql -S /tmp/mysql.sock  

権限の付与

GRANT REPLICATION SLAVE ON *.* TO repl@'localhost' IDENTIFIED BY 'replication';

ロック(mysql)

FLUSH TABLES WITH READ LOCK;

ポジション獲得(mysql)

show master status;

アンロッック(mysql)

UNLOCK TABLES;

レプリケーションの作成

CHANGE MASTER TO
       MASTER_HOST='XXX.XXX.XX.XX',
       MASTER_USER='repl',
       MASTER_PASSWORD='replication',
       MASTER_LOG_FILE='mysql-bin.XXXXXXX',
       MASTER_LOG_POS=XXXXXXXXXX;

参考サイト
http://dev.mysql.com/doc/refman/4.1/ja/replication-howto.html