# rpm -ivh --nopost MySQL-server-advanced-gpl-5.1.30-0.rhel4.x86_64.rpm
# rpm -ivh MySQL-client-advanced-gpl-5.1.30-0.rhel4.x86_64.rpm
通常のmy.cnfに加えて以下を追加で記載
# vi /var/lib/mysql/my.cnf
server-id = 2 ←更新系とは違うIDを指定
#for slave server
read_only
slave_net_timeout = 60
log-slave-updates
master-retry-count = 86400
relay-log = /var/lib/mysql/relaylog/mysql-relay
# su - mysql -c "/usr/bin/mysql_install_db --datadir=/var/lib/mysql/data"
# /etc/init.d/mysql start
mysql> GRANT REPLICATION SLAVE ,REPLICATION CLIENT,SELECT,RELOAD,EVENT,SHOW VIEW,LOCK TABLES,TRIGGER ON *.* TO 'repl'@'192.168.11.0/255.255.255.0' IDENTIFIED BY 'password';
※ホストの指定方法
'repl'@'%' |
すべてのホストからアクセスを許可 |
'repl'@'192.168.11.1' |
192.168.11.1のみアクセスを許可 |
'repl'@'192.168.11.0/255.255.255.0' |
セグメントからのアクセスを許可(2進数表現は不可) |
'repl'@'localhost' |
ローカルからのみアクセスを許可 |
# mysqldump -h192.168.11.1 -urepl -ppassword --all-databases\
--master-data=2 --single-transaction > /var/lib/mysql/dumpfile.sql
# mysql -uユーザ名 -pパスワード < dumpfile.sql
CHANGE MASTERコマンドを使ってレプリケーションの設定を行う。
ダンプファイルの先頭に、マスター上のバイナリログファイル名と開始位置が
記述されているので、次のコマンドで抜き出す。
# head -100 dumpfile.sql | grep CHANGE
-- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=106;
ここで表示されたCHANGE MSTER TOコマンドに対してマスターのホスト名や利用する
アカウント情報などを追加することにより、CHANGE MASTER TOコマンドを完成させて
実行しましょう。完成形のコマンドは次のようになるでしょう。
mysql> CHANGE MASTER TO
MASTER_HOST='192.168.11.1',
MASTER_USER='repl',
MASTER_PASSWORD='password',
MASTER_PORT=3306,
MASTER_LOG_FILE='mysql-bin.000002',
MASTER_LOG_POS=106,
MASTER_CONNECT_RETRY=60;
mysql> START SLAVE;
mysql> SHOW SLAVE STATUS\G
~省略~
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
~省略~
※上記表示が両方ともYesであれば、レプリケーションは正常
最終更新:2010年08月11日 15:00