MySQL 數據庫雙向鏡像、輪回鏡像(復制)。本站提示廣大學習愛好者:(MySQL 數據庫雙向鏡像、輪回鏡像(復制))文章只能為提供參考,不一定能成為您想要的結果。以下是MySQL 數據庫雙向鏡像、輪回鏡像(復制)正文
關於雙向數據庫鏡像,就是數據庫A的數據變更要鏡像到數據庫B中,同時數據庫B裡的修正也要同時復制到數據庫A裡。
關於輪回數據庫鏡像,就是多個數據庫A、B、C、D等,對個中任一個數據庫的修正,都要同時鏡像到其它的數據庫裡。
運用:統一個Zen Cart網店的數據庫和法式,可以放置在分歧的主機上,在任一台主機上新增的定單、客戶材料,都邑同時參加其它的主機數據庫裡。
要完成雙向或輪回數據庫鏡像,起首要處理的就是避免數據庫中主動遞增(AUTO_INCREMENT)字段的抵觸,以避免多半據庫各自生成一樣的增量值。
上面以三台主機輪回鏡像為例,A是B的主鏡像,B是C的主鏡像,C是A的主鏡像。三台主機上MySQL設置文件 /etc /my.cnf 平分別參加上面的參數:
# 主機一:美國主機 A, IP: 100.101.102.201
[mysqld]
server-id = 10
log-bin = mysql-bin
log-slave-updates
replicate-same-server-id = 0
auto_increment_increment = 10
auto_increment_offset = 1
master-host = 100.101.102.203
master-user = repl_user
master-password = repl_password
report-host = 100.101.102.201
# 主機二:中國主機 B, IP: 100.101.102.202
[mysqld]
server-id = 20
log-bin = mysql-bin
log-slave-updates
replicate-same-server-id = 0
auto_increment_increment = 10
auto_increment_offset = 2
master-host = 100.101.102.201
master-user = repl_user
master-password = repl_password
report-host = 100.101.102.202
# 主機三:當地主機 C, IP: 100.101.102.203
[mysqld]
server-id = 30
log-bin = mysql-bin
log-slave-updates
replicate-same-server-id = 0
auto_increment_increment = 10
auto_increment_offset = 3
master-host = 100.101.102.202
master-user = repl_user
master-password = repl_password
report-host = 100.101.102.203
簡略解釋:
server-id:數據庫標識,每一個數據庫標識必需獨一;
replicate-same-server-id:設置為0,避免數據輪回更新;
auto_increment_increment:這是輪回鏡像裡最主要的參數之一,表現主動增量為10,這將許可最多10台數據庫參加這個輪回鏡像的陣列,而主動遞增字段不會反復。
auto_increment_offset:這是輪回鏡像裡最主要的參數之一,表現偏移值,每一個數據庫的偏移值必需獨一,且在1和auto_increment_increment之間。
master-host:主數據庫辦事器的IP;
master-user:用於銜接主數據庫的鏡像用戶名;
master-password:用於銜接主數據庫的鏡像暗碼;
report-host:供給給主數據庫用於反向銜接的IP,由於主數據庫有時沒法准確斷定從辦事器的IP,所以這裡最好填上從辦事器本身的IP地址。
別的,有時只須要鏡像某些數據庫,可以在 my.cnf 中參加:
replicate-do-db = db_name1
replicate-do-db = db_name2
replicate-do-db = db_name3
如許就僅僅鏡像db_name1/db_name2/db_name3
假如只是某些數據庫不要鏡像,可以在 my.cnf 中參加:
replicate-ignore-db=db_name1
replicate-ignore-db=db_name2
replicate-ignore-db=db_name3
如許鏡像時就疏忽 db_name1/db_name2/db_name3 這三個數據庫。