2009年7月28日火曜日

MySQLのレプリケーション

スズキです。

今まで、何回か、仕事でやってきたのですが、
何故か、本ブログには、何もメモしてなかったので...

まあ、下記の通りです。
http://wiki.bit-hive.com/tomizoo/pg/MySQL%20%A5%EC%A5%D7%A5%EA%A5%B1%A1%BC%A5%B7%A5%E7%A5%F3%A4%CE%C0%DF%C4%EA

下記は上記を作業用に説明を少なくしたものです。

【MASTER側作業】

--------【my.cnf】--------
[mysqld]
...
log-bin
server-id=1
--------

# レプリケーションユーザーの作成
mysql> GRANT REPLICATION SLAVE ON *.*
TO repl@192.168.11.4 IDENTIFIED BY 'suz-lab';

ここで、DBへの書き込みがない状態にして、下記を実行します。

# ログファイルとポジションの確認
mysql> SHOW MASTER STATUS;
mysql-bin.000717 232

そして、この状態のデータファイル群("/var/lib/mysql"など)をSLAVE側に転送します。

【SLAVE側作業】

--------【my.cnf】--------
[mysqld]
...
server-id=2
--------

上記の設定で、データファイルをMASTER側から転送したものにして、
MySQLを起動し、下記を実行します。

# MASTER情報の設定
mysql> CHANGE MASTER TO
MASTER_HOST='192.168.11.3',
MASTER_USER='repl',
MASTER_PASSWORD='suz-lab',
MASTER_LOG_FILE='mysql-bin.000717',
MASTER_LOG_POS=232;

# SLAVEモードに
mysql> START SLAVE;

次回は、このブログ見ながら、30分以内で終わらせよう。

--
http://www.suz-lab.com

0 コメント: