09 « 1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.» 11

MySQL 準同期レプリケーション(Semisynchronous Replication)設定メモ 

========== サーバ構成 ==========
・マスター
 IPアドレス:10.1.1.122

・スレーブ
 IPアドレス:10.1.1.123
 
・使用したMySQLのバージョン
mysql -V
------------------------------
mysql Ver 14.14 Distrib 5.5.25a, for Linux (x86_64) using readline 5.1
------------------------------



========== マスターの設定(10.1.1.122) ==========
・レプリケーションユーザの作成
mysql -u root -p
---(下記を実行)------------------------
mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave'@'10.1.1.123' IDENTIFIED BY '<パスワード>';
mysql> FLUSH PRIVILEGES;
---------------------------

・MySQLマスター用の設定
vi /etc/my.cnf
---(下記を追加)---------------------------
[mysqld]
(略)

# サーバIDの設定
server-id=1

# バイナリログの有効化
sync_binlog=1
log-bin=mysql-bin

# 準同期レプリケーション用のプラグインを有効化
plugin-load=rpl_semi_sync_master=semisync_master.so

# 準同期レプリケーションの有効化
rpl_semi_sync_master_enabled=1

# スレーブが応答しない場合のタイムアウトの設定(単位はms)
rpl_semi_sync_master_timeout=10
------------------------------

・MySQLを再起動
service mysqld restart

・マスターDBのダンプ
mysqldump -u root -p \
--all-databases \
--single-transaction \
--flush-logs \
--master-data=2 \
--hex-blob \
--default-character-set=utf8 > dump.sql

・上記でダンプした「dump.sql」をスレーブサーバへコピーします。
scp dump.sql 10.1.1.123:



========== スレーブの設定(10.1.1.122) ==========
・MySQLスレーブ用の設定
vi /etc/my.cnf
---(下記を追加)---------------------------
[mysqld]
(略)

# サーバIDの設定
server-id=2

# バイナリログの有効化
sync_binlog=1
log-bin=mysql-bin

# 準同期レプリケーション用のプラグインを有効
plugin-load=rpl_semi_sync_master=semisync_master.so

# 準同期レプリケーションの有効化
rpl_semi_sync_master_enabled=1

# 更新禁止設定
read_only
------------------------------

・マスターDBをコピーします
mysql -u root -p < dump.sql

・MySQLを再起動
service mysqld restart

・ダンプした時点のマスターのバイナリログファイルと開始位置を確認
head -n 100 dump.sql | grep CHANGE
------------------------------
-- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000013', MASTER_LOG_POS=107;
------------------------------

・レプリケーション設定
mysql -u root -p
---(下記を実行)---------------------------
CHANGE MASTER TO
MASTER_HOST='10.1.1.122',
MASTER_PORT=3306,
MASTER_USER='slave',
MASTER_PASSWORD='<パスワード>',
MASTER_LOG_FILE='mysql-bin.000013',
MASTER_LOG_POS=107;
\q
------------------------------

・マスター情報のファイルが作成されます
cat /var/lib/mysql/master.info

・レプリケーションを開始します
mysql -u root -p
---(下記を実行)---------------------------
START SLAVE;
------------------------------

・スレーブの状態を確認します
mysql -u root -p
---(下記を実行)---------------------------
SHOW SLAVE STATUS\G
------------------------------

---(下記表示があればOK)---------------------------
(略)
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
(略)
------------------------------


以上で準同期レプリケーション完了です。

Posted on 2012/09/09 Sun. 10:26 [edit]

category: サーバ

thread: サーバー  -  janre: コンピュータ

TB: 0    CM: 0

09

コメント

Comment
list

コメントの投稿

Secret

Comment
form

トラックバック

トラックバックURL
→http://arpanet617.blog.fc2.com/tb.php/30-5af8743e
この記事にトラックバックする(FC2ブログユーザー)

Trackback
list