您好,登錄后才能下訂單哦!
????????一些mysql版本并不會(huì)開(kāi)啟二進(jìn)制日志,所以一定要檢查是否開(kāi)啟。如果一開(kāi)始沒(méi)開(kāi)啟,在以后需要開(kāi)啟,則必須重啟數(shù)據(jù)庫(kù)服務(wù)器,而數(shù)據(jù)庫(kù)服務(wù)器重啟會(huì)對(duì)業(yè)務(wù)造成很大影響。所以,盡管二進(jìn)制日志會(huì)對(duì)性能有稍許影響,所以,無(wú)論是否要用復(fù)制、備份功能(增量日志也依賴二進(jìn)制日志),都建議開(kāi)啟
????????目前mysql支持兩種復(fù)制類型:
????????????????1.二進(jìn)制日志點(diǎn)
????????????????2.GTID(mysql>=5.7推薦使用)
????????有些配置要重啟后才能生效,為了不影響數(shù)據(jù)庫(kù)的正常使用,最好在上線之前就配置好,特別是master服務(wù)器的配置更應(yīng)該做為初始參數(shù)配置好
????????log_bin:mysql-bin為日志文件前綴(之所以把日志文件和數(shù)據(jù)文件分開(kāi)放,是為了提高io性能)
????????server_id:用來(lái)區(qū)分不同服務(wù)器
????????log_bin:mysql-bin為日志文件前綴(之所以把日志文件和數(shù)據(jù)文件分開(kāi)放,是為了提高io性能)
????????server_id:用來(lái)區(qū)分不同服務(wù)器
????????relay_log:slave的中繼日志也應(yīng)該和數(shù)據(jù)文件分開(kāi),以提高io性能
????????read_only:只讀(使所有沒(méi)有super權(quán)限的用戶在從服務(wù)器上不能執(zhí)行寫操作的,不論這個(gè)用戶是否具備寫權(quán)限。這樣做的好處是避免誤操作寫到從服務(wù)器上造成主從不一致的問(wèn)題。但這個(gè)參數(shù)不能限制具有super權(quán)限的用戶,比如root帳號(hào)。為了解決這個(gè)問(wèn)題,mysql5.7之后引入了super_read_only這個(gè)參數(shù)將具備super權(quán)限的用戶也限制了不能在從服務(wù)器上做寫操作)
????????skip_slave_start:在slave服務(wù)器重啟時(shí)不會(huì)自動(dòng)啟動(dòng)復(fù)制鏈路(默認(rèn)情況下mysql在slave重啟時(shí)會(huì)自動(dòng)啟動(dòng)復(fù)制鏈路,如果存在問(wèn)題,則主從復(fù)制鏈路會(huì)中斷。所以正常情況下,我們應(yīng)該在服務(wù)器重啟后檢查是否存在問(wèn)題,然后手動(dòng)啟動(dòng)主從復(fù)制鏈路)
????????master_info_repository和relay_log_info_repository:把主從服務(wù)器的信息存儲(chǔ)到innodb表中,默認(rèn)情況下是存儲(chǔ)到文件系統(tǒng)中的,這樣如果從服務(wù)器出現(xiàn)宕機(jī),則很容易出現(xiàn)文件記錄和實(shí)際同步信息不同步的情況。而把相關(guān)信息存儲(chǔ)到表中,可以利用innodb豐富的恢復(fù)機(jī)制保證記錄數(shù)據(jù)的一致性
在master上建立復(fù)制帳號(hào):
(注意:只設(shè)置了該有的權(quán)限REPLICATION和SLAVE權(quán)限)
初始化slave數(shù)據(jù):
啟動(dòng)基于日志點(diǎn)的復(fù)制鏈路:
主從復(fù)制演示:
主服務(wù)器配置:
????????先看下主服務(wù)器的binlog日志是否開(kāi)啟,以及配置好server-id(這里配置為ip的后三位):
????????????????
????????????????
????????????????
????????
從服務(wù)器(slave)配置:
????????配置server-id和relay_log、master_info_repository、relay_log_info_repository,再加上read_only
????????????????
????????????????
????????手動(dòng)將master的server-id改為100(由于未重啟master):
????????????????
????????slave并沒(méi)有業(yè)務(wù)訪問(wèn),所以是可以重啟的:
????????????????
????????(如果是mysql5.7及以上版本,還有個(gè)問(wèn)題要注意:增加了個(gè)uuid值,默認(rèn)情況下在data目錄下有個(gè)auto.cnf文件中,如果用鏡像方式安裝的mysql服務(wù)器,server-uuid應(yīng)該是一樣的,所以需要將auto.cnf刪掉,再重啟自動(dòng)生成一個(gè)新的uuid值。uuid相同主從復(fù)制會(huì)出現(xiàn)問(wèn)題)
????????
在主服務(wù)器上建立復(fù)制帳號(hào),并授權(quán):
????????
????????(本例中:從服務(wù)器全在192.168.3.%網(wǎng)段上)
mysql全備來(lái)初始化從服務(wù)器的數(shù)據(jù):
????????
????????
????????將全備拷貝到從服務(wù)器上:
????????????????
????????????????
????????
復(fù)制鏈路的配置(從服務(wù)器):
????????
????????(dba_repl是master創(chuàng)建的主從復(fù)制帳號(hào),master_log_file是主服務(wù)器的二進(jìn)制日志文件,master_log_pos是日志點(diǎn))
????????????????查看master服務(wù)器的master_log_file和master_log_pos的方式(舉例,顯示的和本例無(wú)關(guān)):
????????????????????????
????????啟動(dòng)從服務(wù)器:
????????????????
????????檢查slave的狀態(tài),是否啟動(dòng):
????????????????執(zhí)行命令show slave status:
????????????????????????
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。