マスタN対スレーブ1レプリケーションの作り方 ~あれから~
- 1. マスタn対スレーブ1
レプリケーションの
作り方
~あれから~
2013/04/17 MySQL Casual Talks vol.4 do_aki
- 2. do_aki (どぅーあき)
|所属| > 株式会社もしも
(ドロップシッピング・アフィリエイトASP)
|仕事| > インフラ(サーバ管理)兼
Webアプリケーション開発
|出現| > 渋谷・山手線沿線
|特性| > PHPer
http://do-aki.net/
- 4. カジュアルなマスタ分割
Master JOIN Master
A 不可 B
Slave Slave Slave Slave
A1 A2 B1 B2
- 5. カジュアルなマスタ分割
Master JOIN Master
A 不可 B
Slave Slave Slave Slave
A1 A2 B1 B2
- 6. カジュアルなマスタ併合
Master Master
A B
Slave Slave Slave Slave Slave
A2 B1 B2
A1 A+B
- 8. n:1 レプリケーション
Master Master
A B
CHANGE
MATER TO
Slave
でマスタを
A+B
定期切替
- 9. n:1 レプリケーション
Master Master
A B
CHANGE
MATER TO
Slave
でマスタを
A+B
定期切替
- 10. n:1 レプリケーション
Master Master
A B
詳しくは、Vol.2の
スライドを参照
Slave
http://www.slideshare.n
A+B et/do_aki/20110809-my-
sql-casual-talks-vol2
- 15. 2011年 7月 稼働開始
2011年 8月 MySQL Casual Talks Vol.2
2011年11月 障害停止
(max_allowed_packet 不足)
2012年 4月 MySQL Casual Talks Vol.3
2012年10月 計画停止(マスタ切替)
2012年12月 計画停止(Disk 拡張)
2013年 4月 MySQL Casual Talks Vol.4
- 17. 130415 20:55:11 [ERROR] Error reading packet from server: Lost connection
to MySQL server during query ( server_errno=2013)
130415 20:55:11 [Note] Slave I/O thread killed while reading event
130415 20:55:11 [Note] Slave I/O thread exiting, read up to log 'mysql-
bin.003284', position 585650324
130415 20:55:11 [Note] Error reading relay log event: slave SQL thread was
killed
130415 20:55:11 [Note] 'CHANGE MASTER TO executed'. Previous state
master_host='master host1', master_port='3306', master_log_file='mysql-
bin.003284', master_log_pos='585650324'. New state master_host='master
host2', master_port='3306', master_log_file='mysql-bin.001770',
master_log_pos='996447621'.
130415 20:55:11 [Note] Slave SQL thread initialized, starting replication in log
'mysql-bin.0001770' at position 996447621, relay log './relay-bin.000001'
position: 4
130415 20:55:11 [Note] Slave I/O thread: connected to master 'slave
user@master host2:3306',replication started in log 'mysql-bin.001770' at
position 996447621
- 22. • ほんとに安定稼働中
• 運用コストがほとんど無くてびっくり
• 興味あるならコードはこちら
• https://github.com/do-aki/SwitchMaster
• 信じられないだろ、こんな適当なコード
で動いてるんだぜ、これ