mysql5.7 的主從復(fù)制是多線程了,阿里在這塊也很早就做過(guò)優(yōu)化,如果還是用 5.7 以下的社區(qū)版本的話,最簡(jiǎn)單的方式也就是垂直切分,按業(yè)務(wù)多分幾個(gè)集群吧,然后一些讀寫頻繁但對(duì)數(shù)據(jù)一致性要求不高的功能盡量扔 redis 實(shí)現(xiàn)
公司主營(yíng)業(yè)務(wù):網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì)、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。創(chuàng)新互聯(lián)推出嘉善免費(fèi)做網(wǎng)站回饋大家。
可以通過(guò)監(jiān)控show slave status\G命令輸出的Seconds_Behind_Master參數(shù)的值來(lái)判斷,是否有發(fā)生主從延時(shí)。
其值有這么幾種:
NULL - 表示io_thread或是sql_thread有任何一個(gè)發(fā)生故障,也就是該線程的Running狀態(tài)是No,而非Yes.
0 - 該值為零,是我們極為渴望看到的情況,表示主從復(fù)制良好,可以認(rèn)為lag不存在。
正值 - 表示主從已經(jīng)出現(xiàn)延時(shí),數(shù)字越大表示從庫(kù)落后主庫(kù)越多。
負(fù)值 - 幾乎很少見(jiàn),只是聽(tīng)一些資深的DBA說(shuō)見(jiàn)過(guò),其實(shí),這是一個(gè)BUG值,該參數(shù)是不支持負(fù)值的,也就是不應(yīng)該出現(xiàn)。
在主服務(wù)器上建立一個(gè)為從服務(wù)器進(jìn)行復(fù)制使用的用戶。該賬戶必須授予 REPLICATION SLAVE 權(quán)限,由于僅僅是進(jìn)行復(fù)制使用所以不需要再授予任何其它權(quán)限。
mysql GRANT REPLICATION SLAVE ON *.* TO 'replication'@'%'192.168.0.2' IDENTIFIED BY 'slavepasswd';
mysql FLUSH PRIVILEGES;
3、編輯主服務(wù)器的配置文件:/etc/my.cnf的[ mysqld ] 部分:
server-id = 本機(jī)數(shù)據(jù)庫(kù) ID 標(biāo)示,該部分還應(yīng)有一個(gè)server-id=Master_id選項(xiàng),其中master_id必須為1到232之間的一個(gè)正整數(shù)值
log-bin = 二進(jìn)制日志的位置和名稱
binlog-do-db = 需要備份的數(shù)據(jù)庫(kù)名,如果備份多個(gè)數(shù)據(jù)庫(kù),重復(fù)設(shè)置這個(gè)選項(xiàng)即可
binlog-ignore-db = 不需要備份的數(shù)據(jù)庫(kù)苦命,如果備份多個(gè)數(shù)據(jù)庫(kù),重復(fù)設(shè)置這個(gè)選項(xiàng)即可