mysql双机热备实现
說(shuō)明
?機(jī)器A:(172.16.1.251),機(jī)器B:(172.16.1.252)
兩臺(tái)機(jī)器都創(chuàng)建數(shù)據(jù)庫(kù)web:create database hello default charset utf8;
?
實(shí)現(xiàn)步驟
雙向熱備份:首先設(shè)置A上數(shù)據(jù)庫(kù)為master,B上的備份數(shù)據(jù)庫(kù)為slave;然后配置B上的數(shù)據(jù)庫(kù)為master,A上數(shù)據(jù)庫(kù)為slave
(1)修改 A和B上的 配置文件my.cnf,加入以下內(nèi)容
?
?#機(jī)器A配置??#機(jī)器B配置 ?
?
(2)重啟A和B上的mysql,兩臺(tái)機(jī)器上分別創(chuàng)建一個(gè)mysql用戶用來(lái)同步
??
(3)設(shè)置用戶權(quán)限
?
??
(4)設(shè)置A和B的主從聯(lián)系,B和A的主從聯(lián)系
//機(jī)器A上執(zhí)行,A為slave?
??
//機(jī)器B上執(zhí)行,B為slave
因?yàn)槭请p向備份,所以配置中很多操作是重復(fù)的,只是主從順序不一致,一個(gè)正向一個(gè)反向。
?
雙向備份說(shuō)明
- ?主庫(kù)必須啟用Bin log,主庫(kù)和從庫(kù)必須有唯一的Server Id
- ?從庫(kù)必須清楚了解從主庫(kù)的哪一個(gè)Bin log文件的哪一個(gè)偏移位置起開(kāi)始復(fù)制
- ?從庫(kù)可以從主庫(kù)只復(fù)制指定的數(shù)據(jù)庫(kù),或者數(shù)據(jù)庫(kù)的某些數(shù)據(jù)表
- ?主庫(kù)和從庫(kù)的數(shù)據(jù)庫(kù)名稱可以不一樣,不過(guò)還是推薦使用一樣的名稱
- ?主庫(kù)和從庫(kù)的MySQL版本需保持一致
從MySQL3.23.15以后,MySQL支持單向的異步復(fù)制。也就是說(shuō),1臺(tái)MySQL服務(wù)器充當(dāng)Master(主庫(kù)),1臺(tái)或多臺(tái)MySQL服務(wù)器充當(dāng)Slaves(從庫(kù)),數(shù)據(jù)從Master向Slaves進(jìn)行異步復(fù)制。注意,這種復(fù)制是異步的,有別于MySQL的同步復(fù)制實(shí)現(xiàn)(這種實(shí)現(xiàn)稱做MySQL集群,MySQL Cluster)。
當(dāng)主庫(kù)有更新的時(shí)候,主庫(kù)會(huì)把更新操作的SQL寫入二進(jìn)制日志(Bin log),并維護(hù)一個(gè)二進(jìn)制日志文件的索引,以便于日志文件輪回(Rotate)。在從庫(kù)啟動(dòng)異步復(fù)制的時(shí)候,從庫(kù)會(huì)開(kāi)啟兩個(gè)I/O線程,其中一個(gè)線程連接主庫(kù),要求主庫(kù)把二進(jìn)制日志的變化部分傳給從庫(kù),并把傳回的日志寫入本地磁盤。另一個(gè)線程則負(fù)責(zé)讀取本地寫入的二進(jìn)制日志,并在本地執(zhí)行,以反映出這種變化。較老的版本在復(fù)制的時(shí)候只啟用一個(gè)I/O線程,實(shí)現(xiàn)這兩部分的功能。
轉(zhuǎn)載于:https://www.cnblogs.com/rzxiaojia/p/6646091.html
總結(jié)
以上是生活随笔為你收集整理的mysql双机热备实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 适配器模式(类适配器)
- 下一篇: 2017-2018-1 20155338