部署MySQL延遲從庫的好處小結(jié)
前言
MySQL的主從復制(replication)關(guān)系,不太嚴謹?shù)慕蟹ㄊ恰巴健被蛘摺爸鲝耐健?。實際上在早期,MySQL的主從并不能實現(xiàn)真正的“同步”(sync),而是“異步”的(async)。
MySQL主從復制它可以有多種模式,最經(jīng)典的也是最早出現(xiàn)的異步復制(async replication),從5.5版本開始有了半同步復制(semi-sync replication),到了5.7又有了增強半同步。本文要討論的延遲從庫,也是在5.6之后才有的功能,在這之前需要用percona pt-slave-delay 工具來變相實現(xiàn)。
另外,從5.6版本開始增加了并行復制,不過這時還是基于schema的并行模式(slave-parallel-type=DATABASE),效率非常差,意義不大。到了5.7,才實現(xiàn)了真正的并行復制(slave-parallel-type=LOGICAL_CLOCK),復制效率提升很多;還有新增了多源復制,很方便的就能實現(xiàn)多主一從的架構(gòu)。
了解完MySQL復制的簡史,我們切入主題。
MySQL延遲從庫的好處主要有幾點:
1、誤刪除時,能更快恢復數(shù)據(jù)。
有時候手抖了,把線上數(shù)據(jù)給誤刪除了,或者誤刪除庫、表、其他對象,或不加WHERE條件的更新、刪除,都可以讓延遲從庫在誤操作前的時間點停下,然后進行恢復。
2、把延遲從庫作為專用的備份節(jié)點。雖然有一定的延遲,但并不影響利用該節(jié)點作為備份角色,也不影響生產(chǎn)節(jié)點數(shù)據(jù)庫庫。
3、還可以把延遲從庫當做一些問題、案例研究的對象。個別時候,可能有些binlog event在普通從庫上會有問題(例如早期版本中無主鍵會導致從庫更新非常慢的經(jīng)典問題),這時就有時間在延遲從庫上慢慢琢磨研究了。
啟用延遲從庫的方法也挺簡單的,下面是在MySQL 8.0的做法:
#直接用 CHANGE MASTER TO 設置,后面的N單位是秒數(shù) CHANGE MASTER TO MASTER_DELAY = N
當發(fā)生誤操作需要讓延遲從庫在某個位置上停下來時,用下面的命令:
START SLAVE
UNTIL {
#1、直到指定的GTID位置停下
{SQL_BEFORE_GTIDS | SQL_AFTER_GTIDS} = gtid_set
#2、直到指定的binlog位置停下
| MASTER_LOG_FILE = ‘log_name', MASTER_LOG_POS = log_pos
#3、直到指定的relay log位置停下
| RELAY_LOG_FILE = ‘log_name', RELAY_LOG_POS = log_pos
#4、直到slave上多個并行線程之前沒有延遲差距了就停下
#因為多線程復制,不同線程的復制進度不一樣,因此有差距
| SQL_AFTER_MTS_GAPS }
P.S,從5.7起,修改 MASTER_DELAY 選項可以在線立即生效,而無需重啟 slave 線程。
至于具體 MASTER_DELAY 設置多少合適,要估算如果發(fā)生誤操作時,DBA平均能到現(xiàn)場的時間,一般建議1小時左右。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。
相關(guān)文章
mysql 獲取規(guī)定時間段內(nèi)的統(tǒng)計數(shù)據(jù)
這篇文章主要介紹了mysql 獲取規(guī)定時間段內(nèi)的統(tǒng)計數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下2017-05-05
MySQL默認值(DEFAULT)和非空約束(NOT NULL)的實現(xiàn)
本文主要介紹了MySQL默認值(DEFAULT)和非空約束(NOT NULL)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2024-05-05
mysql視圖之創(chuàng)建視圖(CREATE VIEW)和使用限制實例詳解
這篇文章主要介紹了mysql視圖之創(chuàng)建視圖(CREATE VIEW)和使用限制,結(jié)合實例形式詳細分析了mysql視圖創(chuàng)建于使用相關(guān)原理與操作注意事項,需要的朋友可以參考下2019-12-12
MySQL數(shù)據(jù)庫遷移快速導出導入大量數(shù)據(jù)
今天小編就為大家分享一篇關(guān)于MySQL數(shù)據(jù)庫遷移快速導出導入大量數(shù)據(jù),小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03

