การทำ Replicate 2 Master เข้าด้วยกันใน MySql
การทำ Database บน MySql เพื่อเชื่อม 2 Master สำหรับ MySql version 5.5 เข้าด้วยกันตามตัวอย่างตามนี้ครับ
ส่วนแฟ้ม my.ini ของ Master ตัวแรก ก็เพิ่มข้อความประมาณนี้
---------------------------------------------------------------- server-id = 1 log-bin = /usr/local/mysql/var/bin.log log-slave-updates log-bin-index = /usr/local/mysql/var/log-bin.index log-error = /usr/local/mysql/var/error.log
replicate-do-db = somedbname1 replicate-do-db = somedbname2 (มีกี่ database ก็เพิ่มบรรทัดนี้เข้าไป) ---------------------------------------------------------------- log-slave-updates (อันนี้สำคัญสำหรับ 2 Master ที่ Slave เข้าหากัน) ส่วน Master 2 ก็ทำเหมือนกัน ยกเว้นต่อไปนี้
auto_increment_offset = 2 server-id = 2 ---------------------------------------------------------------- ก็เป็นอันเรียบร้อยครับ ถ้าอยากดูรายละเอียดก็ไปที่ link นี้ครับ //capttofu.livejournal.com/1752.html
ส่วนการ setup replicate ก็ทำตามคำแนะนำปกติทั่วไปครับ โดยใช้คำสั่งทำนองนี้ ที่ master สั่ง show master status; แล้วจด log file กับ log pos ที่เครื่อง slave สั่ง stop slave; CHANGE MASTER TO MASTER_HOST='192.168.0.105', MASTER_USER='ชื่อสำหรับ login ที่ master', MASTER_PASSWORD='รหัสผ่าน', MASTER_LOG_FILE='log file ที่จดมา', MASTER_LOG_POS=log pos ที่จดมา; start slave; ---------------------------------------------------------------- เพิ่มเติม Setup ใน my.ini ที่อาจเป็นประโยชน์
master-connect-retry=60 expire_logs_days=7
relay-log = /usr/local/mysql/var/relay.log relay-log-info-file = /usr/local/mysql/var/relay-log.info relay-log-index = /usr/local/mysql/var/relay-log.index
auto_increment_increment = 10 auto_increment_offset = 1
- auto_increment 2 บรรทัดนี้ไว้ใช้กับ Table ที่มี field ประเภท auto increment ซึ่งจะทำให้รู้ว่า Record ที่บันทึก มาจาก Master ตัวไหนตาม offset ที่กำหนดไว้
Create Date : 25 มิถุนายน 2554 | | |
Last Update : 27 มิถุนายน 2554 19:40:31 น. |
Counter : 1092 Pageviews. |
| |
|
|
|