欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL中延遲復(fù)制的實(shí)現(xiàn)

 更新時(shí)間:2025年02月24日 09:43:44   作者:妍妍的寶貝  
MySQL延遲復(fù)制允許副本服務(wù)器滯后源服務(wù)器指定時(shí)間,用于數(shù)據(jù)保護(hù)、歷史檢查等,延遲復(fù)制通過設(shè)置MASTER_DELAY選項(xiàng)實(shí)現(xiàn),下面就來介紹 一下,感興趣的可以了解一下

1 MySQL 延遲復(fù)制介紹

MySQL 5.7 支持延遲復(fù)制,使得 副本服務(wù)器故意滯后于源服務(wù)器至少一個(gè) 指定的時(shí)間量。默認(rèn)延遲為 0 秒。使用 CHANGE MASTER TO 選項(xiàng)設(shè)置延遲 到 N 秒:MASTER_DELAY

1.1 延遲復(fù)制語法:

CHANGE MASTER TO MASTER_DELAY = N;

1.2 延遲復(fù)制可用于多種用途:

  • 為了防止用戶在MASTER頭上出現(xiàn)錯(cuò)誤。DBA 可以滾動(dòng) 將延遲的SLAVE返回到災(zāi)難發(fā)生前的時(shí)間。

  • 檢查數(shù)據(jù)庫很久以前的樣子,沒有必須重新加載備份。例如,如果延遲為 1 周,DBA 需要查看數(shù)據(jù)庫的外觀 在最近幾天的發(fā)展之前,耽誤了可以檢查SLAVE。

1.3 延遲復(fù)制的有關(guān)的參數(shù)

SHOW SLAVE STATUS 有三個(gè)字段 提供有關(guān)延遲的信息:

  • SQL_Delay:一個(gè)非負(fù)整數(shù),表示 副本必須滯后于源的秒數(shù)。

  • SQL_Remaining_Delay:此字段包含一個(gè)整數(shù),表示 延遲的剩余秒數(shù)。

  • Slave_SQL_Running_State:一個(gè)字符串 指示 SQL 線程的狀態(tài)(類似于 )。該值等于 將 SQL 線程的值為 由 SHOW PROCESSLIST顯示。Slave_IO_StateState

1.4 延遲復(fù)制的操作

延遲復(fù)制在哪臺(tái)機(jī)子上做呢?是由哪個(gè)線程來完成

  • 延遲復(fù)制時(shí)用來控制sql線程的,和i/o線程無關(guān)
  • 這個(gè)延遲復(fù)制不是i/o線程過段時(shí)間來復(fù)制,i/o是正常工作的
  • 是日志已經(jīng)保存在slave端了,那個(gè)sql要等多久進(jìn)行回放

2 MySQL 延遲復(fù)制 實(shí)操

2.1 實(shí)驗(yàn)環(huán)境

MASTER/SLAVE服務(wù)器名稱          IP地址server-id
MASTERMySQL-01192.168.239.210 10        
SLAVE-1MySQL-02192.168.239.22020
SLAVE-2MySQL-03192.168.239.23030

2.2 對 SLAVE --MySQL-3 進(jìn)行延遲復(fù)制操作

mysql> show slave status\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.239.210
                  Master_User: repl
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000007
          Read_Master_Log_Pos: 194
               Relay_Log_File: mysql-3-relay-bin.000007
                Relay_Log_Pos: 367
        Relay_Master_Log_File: mysql-bin.000007
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
          Exec_Master_Log_Pos: 194
              Relay_Log_Space: 742

             Master_Server_Id: 10
                  Master_UUID: cd27e5ae-5fe3-11ef-a5d8-000c29a51779
             Master_Info_File: /data/mysql/master.info
                    SQL_Delay: 0
          SQL_Remaining_Delay: NULL

# 停止 SQL_thread 進(jìn)程,停止本地回放
mysql> stop slave sql_thread;
Query OK, 0 rows affected (0.00 sec)

# 改變 本地回放的延遲時(shí)間
mysql> change master to master_delay=60;
Query OK, 0 rows affected (0.00 sec)

# 打開本地回放 sql_thread 進(jìn)程
mysql> start slave sql_thread;
Query OK, 0 rows affected (0.00 sec)

2.3 停止相關(guān)進(jìn)程的原因

為什么要停止本地 sql_thread 進(jìn)程而不是停止IO_thread呢?

這是由于停止sql_thread 只是 停止的是本地的回放,而不是停止IO_thread的復(fù)制。即使停掉本地的回放,IO_thread 進(jìn)程仍然會(huì)對MASTER 的bin-log 進(jìn)行接收并寫入本地的 Relay log,而不是停止寫入本地 Relay log 。等待sql_thread進(jìn)程再次啟動(dòng)進(jìn)程就會(huì)去讀取本地Realy log 并 將本地的 Relay log 回放到數(shù)據(jù)庫中。這樣子做 能在保證成功修改SLAVE參數(shù)的同時(shí)也能保持MASTER與SLAVE的數(shù)據(jù)一致性。

2.4 實(shí)驗(yàn)測試

MASTER 上操作

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| ZUCONG             |
| mysql              |
| performance_schema |
| shuyan             |
| sys                |
+--------------------+
6 rows in set (0.03 sec)

mysql> use shuyan;
mysql> show tables;
+------------------+
| Tables_in_shuyan |
+------------------+
| wawa             |
+------------------+
mysql> select * from wawa;
+----+------+
| id | name |
+----+------+
|  1 | wawa |
+----+------+
mysql> insert into wawa(id,name) values(2,'shuyan');

SLAVE 上 查看  

MySQL-02 并沒有做延遲復(fù)制

mysql> select * from shuyan.wawa;
+----+--------+
| id | name   |
+----+--------+
|  1 | wawa   |
|  2 | shuyan |
+----+--------+

MySQL-03 做了60秒的延遲復(fù)制

mysql> select * from shuyan.wawa;
+----+------+
| id | name |
+----+------+
|  1 | wawa |
+----+------+

2.5 動(dòng)圖演示全過程

接下來是一個(gè)動(dòng)圖的演示 修改 master_delay 參數(shù)并增加master 數(shù)據(jù) 觀察slave延遲復(fù)制的過程

到此這篇關(guān)于MySQL中延遲復(fù)制的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)MySQL 延遲復(fù)制內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解如何利用Xtrabackup進(jìn)行mysql增量備份

    詳解如何利用Xtrabackup進(jìn)行mysql增量備份

    這篇文章主要為大家介紹了如何利用Xtrabackup進(jìn)行mysql增量備份詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • MySQL5.7 mysqldump備份與恢復(fù)的實(shí)現(xiàn)

    MySQL5.7 mysqldump備份與恢復(fù)的實(shí)現(xiàn)

    這篇文章主要介紹了MySQL5.7 mysqldump備份與恢復(fù)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Mysql MVCC多版本并發(fā)控制詳情

    Mysql MVCC多版本并發(fā)控制詳情

    這篇文章主要介紹了Mysql MVCC多版本并發(fā)控制詳情,MVCC是一種并發(fā)控制的方法,一般在數(shù)據(jù)庫管理系統(tǒng)中,實(shí)現(xiàn)對數(shù)據(jù)庫的并發(fā)訪問,在編程語言中實(shí)現(xiàn)事務(wù)內(nèi)存,下文更多相關(guān)介紹需要的小伙伴可以參考一下
    2022-04-04
  • Mysql數(shù)據(jù)庫使用concat函數(shù)執(zhí)行SQL注入查詢

    Mysql數(shù)據(jù)庫使用concat函數(shù)執(zhí)行SQL注入查詢

    這篇文章主要介紹了Mysql數(shù)據(jù)庫使用concat函數(shù)執(zhí)行SQL注入查詢,concat函數(shù)在SQL注入查詢中會(huì)有意想不到的作用,本文就起講解它的使用,需要的朋友可以參考下
    2015-04-04
  • mysql?分組函數(shù)和分組查詢使用詳解

    mysql?分組函數(shù)和分組查詢使用詳解

    分組函數(shù)用作統(tǒng)計(jì)使用,又稱聚合函數(shù),統(tǒng)計(jì)函數(shù),組函數(shù),這篇文章主要介紹了mysql分組函數(shù)分組查詢的操作代碼,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2024-01-01
  • CentOS7下二進(jìn)制安裝mysql 5.7.23

    CentOS7下二進(jìn)制安裝mysql 5.7.23

    這篇文章主要為大家詳細(xì)介紹了CentOS7下二進(jìn)制安裝mysql 5.7.23,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • MySQL分區(qū)表的基本入門教程

    MySQL分區(qū)表的基本入門教程

    這篇文章主要給大家介紹了關(guān)于MySQL分區(qū)表的基本入門教程,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用MySQL具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • Mysql中in和exists的區(qū)別?&?not?in、not?exists、left?join的相互轉(zhuǎn)換問題

    Mysql中in和exists的區(qū)別?&?not?in、not?exists、left?join的相互轉(zhuǎn)換問題

    這篇文章主要介紹了Mysql中in和exists的區(qū)別?&?not?in、not?exists、left?join的相互轉(zhuǎn)換,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-09-09
  • MySQL查看版本的五種方法總結(jié)

    MySQL查看版本的五種方法總結(jié)

    在日常項(xiàng)目開發(fā)過程中,我們經(jīng)常要連接自己的數(shù)據(jù)庫,此時(shí)不知道數(shù)據(jù)庫的版本是萬萬不可的,下面這篇文章主要給大家介紹了關(guān)于MySQL查看版本的五種方法,需要的朋友可以參考下
    2023-02-02
  • Mysql自動(dòng)備份與還原方法

    Mysql自動(dòng)備份與還原方法

    Mysql自動(dòng)備份與還原方法,需要的朋友可以參考下。
    2011-06-06

最新評論