mysql主從復(fù)制

主從復(fù)制(Replication)

1.介紹?

兩臺(tái)或以上數(shù)據(jù)庫(kù)實(shí)例,通過(guò)二進(jìn)制日志溉知,實(shí)現(xiàn)數(shù)據(jù)的“同步”關(guān)系陨瘩。

2.主從復(fù)制前提(搭建過(guò)程)

# 時(shí)間同步

#至少2臺(tái)以上實(shí)例,要有角色劃分

#主庫(kù)開(kāi)binlog

#網(wǎng)絡(luò)通暢

#開(kāi)啟專(zhuān)用復(fù)制線(xiàn)程

#專(zhuān)門(mén)開(kāi)啟一個(gè)復(fù)制用戶(hù)

#"補(bǔ)課"

#確認(rèn)復(fù)制起點(diǎn)


#總結(jié)

1.需要兩臺(tái)以上數(shù)據(jù)庫(kù)實(shí)例级乍,網(wǎng)絡(luò)通暢舌劳,時(shí)間同步,server_id不同玫荣,區(qū)分不同角色(主庫(kù)甚淡,從庫(kù))

2.主庫(kù)開(kāi)啟binlog,建立專(zhuān)用復(fù)制用戶(hù)捅厂。

3.從庫(kù)需要提前補(bǔ)課

4.從庫(kù):主庫(kù)的鏈接信息贯卦,確認(rèn)復(fù)制起點(diǎn)

5.從庫(kù):? ?需要專(zhuān)用的復(fù)制線(xiàn)程


3.搭建

實(shí)例準(zhǔn)備

[root@later03 ~]# systemctl start mysqld3308

[root@later03 ~]# systemctl start mysqld3308

[root@later03 ~]# systemctl start mysqld3309

檢查server_id?

[root@later03 tmp]# mysql -S /tmp/mysql3307.sock -e "select @@server_id";

+-------------+

| @@server_id |

+-------------+

|? ? ? ? ? 7 |

+-------------+

[root@later03 tmp]# mysql -S /tmp/mysql3308.sock -e "select @@server_id";

+-------------+

| @@server_id |

+-------------+

|? ? ? ? ? 8 |

+-------------+

[root@later03 tmp]# mysql -S /tmp/mysql3309.sock -e "select @@server_id";

+-------------+

| @@server_id |

+-------------+

|? ? ? ? ? 9 |

+-------------+

3.3 檢查主庫(kù)的binlog?

[root@later03 tmp]# mysql -S /tmp/mysql3307.sock -e "select @@log_bin";

+-----------+

| @@log_bin |

+-----------+

|? ? ? ? 1 |

+-----------+

3.4建立復(fù)制用戶(hù)

mysql -S /tmp/mysql3307.sock -e "grant replication slave on *.*? to repl@'localhost' identified by '123'";

?grant replication slave on *.* to 'repl'@''

3.5 主庫(kù)備份恢復(fù)到從庫(kù)

主庫(kù)備份:

mysqldump -S /tmp/mysql3307.sock -A --master-data=2 --single-transaction > /tmp/all.sql?

從庫(kù)恢復(fù):mysql? -S /tmp/mysql3308.sock? ?< /tmp/all.sql??

從庫(kù)恢復(fù): mysql? -S /tmp/mysql3309.sock? ?< /tmp/all.sql

3.6告知從庫(kù)復(fù)制信息

查看binlog復(fù)制起點(diǎn)

[root@later03 ~]# grep "\-- CHANGE MASTER " /tmp/all.sql?

-- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=849;

3308,3309? 執(zhí)行:

CHANGE MASTER TO

? MASTER_HOST='39.101.199.159',

? MASTER_USER='repl',

? MASTER_PASSWORD='luobiao123',

? MASTER_PORT=3306,

? MASTER_LOG_FILE='mysql-bin.000005',

? MASTER_LOG_POS=194,

? MASTER_CONNECT_RETRY=10;


3.7 從庫(kù)中開(kāi)啟專(zhuān)用復(fù)制線(xiàn)程

mysql> start slave;


3.8 驗(yàn)證主從狀態(tài)

show slave status ;

?Slave_IO_Running: Yes

?Slave_SQL_Running: Yes

3.9 重置從庫(kù),如果主庫(kù)重啟恒傻,或者發(fā)生變化脸侥,可以重置主從關(guān)系,重新設(shè)置

1.停止從庫(kù)? ?stop slave;

2.重置 reset slave all;?


主從復(fù)制原理?

4.1 主從中涉及到的資源

文件:

主庫(kù):binlog文件?

從庫(kù):

relay-log文件:存儲(chǔ)接受的binlog

later03-relay-bin.000001

手工定義方法: vi /etc/my.cnf?

relay_log_basename=/relay_log/later03-relay-bin?


master.info :連接主庫(kù)的信息盈厘,已經(jīng)接受到的binlog位置信息睁枕。

默認(rèn)存儲(chǔ)在從庫(kù)的數(shù)據(jù)路徑下。

手工定義:

master_info_repository=FILE/TABLE

relay-log.info?

作用:

記錄從庫(kù)回放到的relay-log的位置點(diǎn)沸手。

默認(rèn)在從庫(kù)的數(shù)據(jù)路徑下外遇。

手工定義:

relay_log_info_repository=FILE/TABLE


4.1.2線(xiàn)程:

(1)主庫(kù):

Binlog_dump_Thread

作用:用來(lái)接b收從庫(kù)請(qǐng)求,并且投遞binlog給從庫(kù)契吉。

show processlist;

(2)從庫(kù):

IO線(xiàn)程跳仿,請(qǐng)求日志,接收日志

SQL線(xiàn)程捐晶,回放日志:


4.2 主從復(fù)制原理

畫(huà)圖說(shuō)明:

文字說(shuō)明:

1.S: change master to IP,Port,User,Password,binlog位置點(diǎn)信息

菲语,執(zhí)行start? slave 啟動(dòng)IO和SQL線(xiàn)程。??

2.S:連上主庫(kù)?

3.M:分配Dump_T惑灵,專(zhuān)門(mén)和S_IO通信山上。

show processlist;

4.S:IO線(xiàn)程,根據(jù)master.info記錄的日志點(diǎn)信息英支,請(qǐng)求新日志

5.M:DUMP_T 接收請(qǐng)求佩憾,截取日志,返回給S_IO

6.S: IO線(xiàn)程接收到binlog,日志放在TCP/IP妄帘,此時(shí)網(wǎng)絡(luò)層面返回

ACK給主庫(kù)楞黄,主庫(kù)工作完成。

7:S:IO將binlog最終寫(xiě)入到relay-log ,并跟新master.info ,IO線(xiàn)程工作結(jié)束.

8:S:SQL線(xiàn)程讀R.info,獲取上次執(zhí)行到的位置點(diǎn)

9.S:SQL線(xiàn)程向后執(zhí)行新的relay-log,再次跟新R.info?

小細(xì)節(jié):

1.S:relay-log 參數(shù):relay_log_purge=ON 定期自動(dòng)刪除應(yīng)用過(guò)的relay-log?

2.M Dump線(xiàn)程實(shí)時(shí)監(jiān)控主庫(kù)的binlog變化抡驼,如果有新變化發(fā)信號(hào)給從庫(kù)鬼廓。



5.主從監(jiān)控

5.1主庫(kù)監(jiān)控

show processlist; 查看主庫(kù)dump進(jìn)程

show slave hosts;查看從庫(kù)的情況

5.2從庫(kù)監(jiān)控

show slave status;


主從相關(guān)信息,來(lái)自于Master.info?

Master_Host: 39.101.199.159

?Master_User: repl

Master_Port: 3306

Connect_Retry: 10

?Master_Log_File: mysql-bin.000002

Read_Master_Log_Pos: 1461

從庫(kù)的relay-log的執(zhí)行情況致盟,來(lái)自于Relay.info? ?一般用作判斷主從延時(shí)

Relay_Log_File: later03-relay-bin.000002

Relay_Log_Pos: 932

Relay_Master_Log_File: mysql-bin.000002

Exec_Master_Log_Pos: 1461

Seconds_Behind_Master: 0

從庫(kù)線(xiàn)程狀態(tài)桑阶,具體報(bào)錯(cuò)信息

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

Last_IO_Errno: 0

?Last_IO_Error:?

Last_SQL_Errno: 0

Last_SQL_Error:?


過(guò)濾復(fù)制相關(guān)信息

Replicate_Do_DB:?

Replicate_Ignore_DB:?

Replicate_Do_Table:?

Replicate_Ignore_Table:?

Replicate_Wild_Do_Table:?

Replicate_Wild_Ignore_Table:?

延時(shí)從庫(kù)的配置信息

SQL_Delay: 0

SQL_Remaining_Delay: NULL

GTID相關(guān)復(fù)制信息

?Retrieved_Gtid_Set: 2ade123b-73aa-11ea-b05d-00163e082e57:4-6

?Executed_Gtid_Set: 205e7212-736e-11ea-bfde-00163e0477d5:1-123






?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市勾邦,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌割择,老刑警劉巖眷篇,帶你破解...
    沈念sama閱讀 217,907評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異荔泳,居然都是意外死亡蕉饼,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)玛歌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)昧港,“玉大人,你說(shuō)我怎么就攤上這事支子〈捶剩” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,298評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵值朋,是天一觀的道長(zhǎng)叹侄。 經(jīng)常有香客問(wèn)我,道長(zhǎng)昨登,這世上最難降的妖魔是什么趾代? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,586評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮丰辣,結(jié)果婚禮上撒强,老公的妹妹穿的比我還像新娘。我一直安慰自己笙什,他們只是感情好飘哨,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著得湘,像睡著了一般杖玲。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上淘正,一...
    開(kāi)封第一講書(shū)人閱讀 51,488評(píng)論 1 302
  • 那天摆马,我揣著相機(jī)與錄音臼闻,去河邊找鬼。 笑死囤采,一個(gè)胖子當(dāng)著我的面吹牛述呐,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蕉毯,決...
    沈念sama閱讀 40,275評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼乓搬,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了代虾?” 一聲冷哼從身側(cè)響起进肯,我...
    開(kāi)封第一講書(shū)人閱讀 39,176評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎棉磨,沒(méi)想到半個(gè)月后江掩,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,619評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡乘瓤,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評(píng)論 3 336
  • 正文 我和宋清朗相戀三年环形,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片衙傀。...
    茶點(diǎn)故事閱讀 39,932評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡抬吟,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出统抬,到底是詐尸還是另有隱情火本,我是刑警寧澤,帶...
    沈念sama閱讀 35,655評(píng)論 5 346
  • 正文 年R本政府宣布聪建,位于F島的核電站发侵,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏妆偏。R本人自食惡果不足惜刃鳄,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望钱骂。 院中可真熱鬧叔锐,春花似錦、人聲如沸见秽。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,871評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)解取。三九已至步责,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蔓肯。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,994評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工遂鹊, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蔗包。 一個(gè)月前我還...
    沈念sama閱讀 48,095評(píng)論 3 370
  • 正文 我出身青樓秉扑,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親调限。 傳聞我的和親對(duì)象是個(gè)殘疾皇子舟陆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評(píng)論 2 354

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