MySql主從復(fù)制

一蛛砰、概述

主從復(fù)制是指將主數(shù)據(jù)庫的 DDL 和 DML 操作通過二進(jìn)制日志傳到從庫服務(wù)器中,然后在從庫上對(duì)這些日志重新執(zhí)行(也叫重做),從而使得從庫和主庫的數(shù)據(jù)保持同步旅掂。
MySQL支持一臺(tái)主庫同時(shí)向多臺(tái)從庫進(jìn)行復(fù)制, 從庫同時(shí)也可以作為其他從服務(wù)器的主庫什荣,實(shí)現(xiàn)鏈狀復(fù)制矾缓。

MySQL 復(fù)制的優(yōu)點(diǎn)主要包含以下三個(gè)方面:

  • 主庫出現(xiàn)問題,可以快速切換到從庫提供服務(wù)稻爬。
  • 實(shí)現(xiàn)讀寫分離嗜闻,降低主庫的訪問壓力。
  • 可以在從庫中執(zhí)行備份桅锄,以避免備份期間影響主庫服務(wù)琉雳。

二、原理

MySQL主從復(fù)制的核心就是 二進(jìn)制日志友瘤,具體的過程如下:


image.png

復(fù)制分成三步:

  1. Master 主庫在事務(wù)提交時(shí)翠肘,會(huì)把數(shù)據(jù)變更記錄在二進(jìn)制日志文件 Binlog 中。
  2. 從庫讀取主庫的二進(jìn)制日志文件 Binlog 商佑,寫入到從庫的中繼日志 Relay Log锯茄。
  3. slave重做中繼日志中的事件,將改變反映它自己的數(shù)據(jù)茶没。

三肌幽、搭建

準(zhǔn)備好兩臺(tái)服務(wù)器之后,在上述的兩臺(tái)服務(wù)器中分別安裝好MySQL抓半,并完成基礎(chǔ)的初始化準(zhǔn)備(安裝喂急、密碼配置等操作)工作。 其中:

  • 192.168.200.200 作為主服務(wù)器master
  • 192.168.200.201 作為從服務(wù)器slave

主庫配置

1.修改配置文件 /etc/my.cnf

#mysql 服務(wù)ID笛求,保證整個(gè)集群環(huán)境中唯一廊移,取值范圍:1 – 232-1,默認(rèn)為1
server-id=1
#是否只讀,1 代表只讀, 0 代表讀寫
read-only=0
#忽略的數(shù)據(jù), 指不需要同步的數(shù)據(jù)庫
#binlog-ignore-db=mysql
#指定同步的數(shù)據(jù)庫
#binlog-do-db=db01

2.重啟MySQL服務(wù)器

systemctl restart mysqld

3.登錄mysql探入,創(chuàng)建遠(yuǎn)程連接的賬號(hào)狡孔,并授予主從復(fù)制權(quán)限

#創(chuàng)建replicauser用戶,并設(shè)置密碼蜂嗽,該用戶可在任意主機(jī)連接該MySQL服務(wù)
CREATE USER 'replicauser'@'%' IDENTIFIED WITH mysql_native_password BY 'Root@123456'; 
#為 'replicauser'@'%' 用戶分配主從復(fù)制權(quán)限
GRANT REPLICATION SLAVE ON *.* TO 'replicauser'@'%';

4.通過指令苗膝,查看二進(jìn)制日志坐標(biāo)

show master status ;
image.png
  • file : 從哪個(gè)日志文件開始推送日志文件
  • position : 從哪個(gè)位置開始推送日志
  • binlog_ignore_db : 指定不需要同步的數(shù)據(jù)庫

從庫配置

1.修改配置文件 /etc/my.cnf

#mysql 服務(wù)ID,保證整個(gè)集群環(huán)境中唯一植旧,取值范圍:1 – 2^32-1辱揭,和主庫不一樣即可
server-id=2
#是否只讀,1 代表只讀, 0 代表讀寫
read-only=1

2.重新啟動(dòng)MySQL服務(wù)

systemctl restart mysqld

3.登錄mysql,設(shè)置主庫配置
8.0.23中的語法:

CHANGE REPLICATION SOURCE TO SOURCE_HOST='192.168.200.200', SOURCE_USER='replicauser',
SOURCE_PASSWORD='Root@123456', SOURCE_LOG_FILE='binlog.000004',
SOURCE_LOG_POS=663;

8.0.23 之前的版本:

CHANGE MASTER TO MASTER_HOST='192.168.200.200', MASTER_USER='replicauser',
MASTER_PASSWORD='Root@123456', MASTER_LOG_FILE='binlog.000004',
MASTER_LOG_POS=663;
  • SOURCE_HOST/MASTER_HOST: 主庫IP地址
  • SOURCE_USER/MASTER_USER: 連接主庫的用戶名
  • SOURCE_PASSWORD/MASTER_PASSWORD: 連接主庫的密碼
  • SOURCE_LOG_FILE/MASTER_LOG_FILE: binlog日志文件名
  • SOURCE_LOG_POS/MASTER_LOG_POS: binlog日志文件位置

4.開啟同步操作

start replica ; #8.0.22之后
start slave ; #8.0.22之前

5.查看主從同步狀態(tài)

show replica status ; #8.0.22之后
show slave status ; #8.0.22之前
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末病附,一起剝皮案震驚了整個(gè)濱河市问窃,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌完沪,老刑警劉巖域庇,帶你破解...
    沈念sama閱讀 221,198評(píng)論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡较剃,警方通過查閱死者的電腦和手機(jī)咕别,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來写穴,“玉大人惰拱,你說我怎么就攤上這事“∷停” “怎么了偿短?”我有些...
    開封第一講書人閱讀 167,643評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)馋没。 經(jīng)常有香客問我昔逗,道長(zhǎng),這世上最難降的妖魔是什么篷朵? 我笑而不...
    開封第一講書人閱讀 59,495評(píng)論 1 296
  • 正文 為了忘掉前任勾怒,我火速辦了婚禮,結(jié)果婚禮上声旺,老公的妹妹穿的比我還像新娘笔链。我一直安慰自己,他們只是感情好腮猖,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評(píng)論 6 397
  • 文/花漫 我一把揭開白布鉴扫。 她就那樣靜靜地躺著,像睡著了一般澈缺。 火紅的嫁衣襯著肌膚如雪坪创。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,156評(píng)論 1 308
  • 那天姐赡,我揣著相機(jī)與錄音莱预,去河邊找鬼。 笑死项滑,一個(gè)胖子當(dāng)著我的面吹牛依沮,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播杖们,決...
    沈念sama閱讀 40,743評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼肩狂!你這毒婦竟也來了摘完?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,659評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤傻谁,失蹤者是張志新(化名)和其女友劉穎孝治,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,200評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡谈飒,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評(píng)論 3 340
  • 正文 我和宋清朗相戀三年岂座,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片杭措。...
    茶點(diǎn)故事閱讀 40,424評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡费什,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出手素,到底是詐尸還是另有隱情鸳址,我是刑警寧澤,帶...
    沈念sama閱讀 36,107評(píng)論 5 349
  • 正文 年R本政府宣布泉懦,位于F島的核電站稿黍,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏崩哩。R本人自食惡果不足惜巡球,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望邓嘹。 院中可真熱鬧酣栈,春花似錦、人聲如沸吴超。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽鲸阻。三九已至跋涣,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間鸟悴,已是汗流浹背陈辱。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評(píng)論 1 271
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留细诸,地道東北人沛贪。 一個(gè)月前我還...
    沈念sama閱讀 48,798評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像震贵,于是被迫代替她去往敵國(guó)和親利赋。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • MySQL Replication 主從復(fù)制(也稱 AB 復(fù)制)允許將來自一個(gè)MySQL數(shù)據(jù)庫服務(wù)器(主服務(wù)器)的...
    運(yùn)維開發(fā)_西瓜甜閱讀 64,521評(píng)論 8 65
  • MySQL Replication 主從復(fù)制(也稱 AB 復(fù)制)允許將來自一個(gè)MySQL數(shù)據(jù)庫服務(wù)器(主服務(wù)器)的...
    痕跡xxxyyyyyyY閱讀 223評(píng)論 0 0
  • Mysql 主從復(fù)制 MySQL Replication 主從復(fù)制(也稱 AB 復(fù)制)允許將來自一個(gè)MySQL數(shù)據(jù)...
    花澤菠菜xqc閱讀 322評(píng)論 0 0
  • MySQL Replication 主從復(fù)制(也稱 AB 復(fù)制)允許將來自一個(gè)MySQL數(shù)據(jù)庫服務(wù)器(主服務(wù)器)的...
    你笑的那么美丶閱讀 482評(píng)論 0 0
  • MySQL Replication 主從復(fù)制(也稱 AB 復(fù)制)允許將來自一個(gè)MySQL數(shù)據(jù)庫服務(wù)器(主服務(wù)器)的...
    Lengfin閱讀 179評(píng)論 0 0