精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

MySQL主從復制的常見拓撲、原理分析以及如何提高效率

數據庫 MySQL
MySQL Replication 就是從服務器拉取主服務器上的 二進制日志文件,然后再將日志文件解析成相應的SQL語句在從服務器上重新執行一遍主服務器的操作,通過這種方式來保證數據的一致性。

一、主從復制搭建方法參考

MySQL5.6 數據庫主從(Master/Slave)同步安裝與配置詳解

二、Mysql 主從復制的常用拓撲結構

2.1、一主一從

是最基礎的復制結構,用來分擔之前單臺數據庫服務器的壓力,可以進行讀寫分離。

2.2、一主多從

一臺 Slave 承受不住讀請求壓力時,可以添加多臺,進行負載均衡,分散讀壓力。

還可以對多臺 Slave 進行分工,服務于不同的系統,例如一部分 Slave 負責網站前臺的讀請求,另一部分 Slave 負責后臺統計系統的請求。

因為不同系統的查詢需求不同,對 Slave 分工后,可以創建不同的索引,使其更好的服務于目標系統。

2.3、雙主復制

Master 存在下線的可能,例如故障或者維護,需要把 Slave 切換為 Master。

在原來的 Master 恢復可用后,由于其數據已經不是最新的了,不能再做主,需要做為 Slave 添加進來。

那么就需要對其重新搭建復制環境,需要耗費一定的工作量。

雙主結構就是用來解決這個問題的,互相將對方作為自己的 Master,自己作為對方的 Slave 來進行復制,但對外來講,還是一個主和一個從。

當 主Master 下線時,備Master 切換為 主Master,當原來的 主Master 上線后,因為他記錄了自己當前復制到對方的什么位置了,就會自動從之前的位置開始重新復制,不需要人為地干預,大大提升了效率。

2.4、級聯復制

當直接從屬于 Master 的 Slave 過多時,連到 Master 的 Slave IO 線程就比較多,對 Master 的壓力是很大的。

級聯結構就是通過減少直接從屬于 Master 的 Slave 數量,減輕 Master 的壓力,分散復制請求,從而提高整體的復制效率。

2.5、雙主級聯

級聯復制結構解決了 Slave 過多導致的瓶頸問題,但還是有單主結構中切換主時的維護問題。

那么為了解決這個問題,就可以加入上面的雙主結構。

在必要時,可以再對 Slaves 進行分級。

Mysql 的復制結構有很多種方式,復制的最大問題是數據延時,選擇復制結構時需要根據自己的具體情況,并評估好目標結構的延時對系統的影響。

三、Mysql 主從復制過程及原理

3.1、Binary Log 簡單介紹

因為Binlog dump 線程操作的文件是bin-log 日志文件,并且實現主從復制在主服務器上主要依靠bin-log日志文件,所以我們簡單介紹一下bin-log日志文件。

3.2、原理

MySQL的Replication(英文為復制)是一個多MySQL數據庫做主從同步的方案,特點是異步復制,廣泛用在各種對MySQL有更高性能、更高可靠性要求的場合。與之對應的是另一個同步技術是MySQL Cluster,但因為MySQL Cluster配置比較復雜,所以使用者較少。

MySQL Replication 就是從服務器拉取主服務器上的 二進制日志文件,然后再將日志文件解析成相應的SQL語句在從服務器上重新執行一遍主服務器的操作,通過這種方式來保證數據的一致性。

MySQL的Replication是一個異步復制的過程(mysql5.1.7以上版本分為異步復制和半同步兩種模式),它是從一個Mysql instance(instance英文為實例)(我們稱之為Master)復制到另一個Mysql instance(我們稱之slave)。

3.3、三個線程

在master與slave之間實現整個復制過程主要由三個線程來完成:

1、Slave SQL thread線程,在slave端

2、Slave I/O thread線程,在slave端

3、Binlog dump thread線程(也可稱為IO線程),在master端

注意:如果一臺主服務器配兩臺從服務器那主服務器上就會有兩個Binlog dump 線程,而每個從服務器上各自有兩個線程。

要實現MySQL的Replication,首先必須打開master端的binlog (mysql-bin.xxxxxx)日志功能,否則無法實現mysql的主從復制。因為mysql的整個主從復制過程實際上就是:slave端從master端獲取binlog日志,然后再在自己身上完全順序的執行該日志中所記錄的各種SQL操作。有關具體如何開啟mysql的binlog日志功能,請大家自己在網上搜。

3.4、主從復制流程

MySQL主從復制的基本交互過程,如下:

1、slave端的IO線程連接上master端,并請求從指定binlog日志文件的指定pos節點位置(或者從最開始的日志)開始復制之后的日志內容。

2、master端在接收到來自slave端的IO線程請求后,通知負責復制進程的IO線程,根據slave端IO線程的請求信息,讀取指定binlog日志指定pos節點位置之后的日志信息,然后返回給slave端的IO線程。該返回信息中除了binlog日志所包含的信息之外,還包括本次返回的信息在master端的binlog文件名以及在該binlog日志中的pos節點位置。

3、slave端的IO線程在接收到master端IO返回的信息后,將接收到的binlog日志內容依次寫入到slave端的relaylog文件(mysql-relay-bin.xxxxxx)的最末端,并將讀取到的master端的binlog文件名和pos節點位置記錄到master-info(該文件存slave端)文件中,以便在下一次讀取的時候能夠清楚的告訴master“我需要從哪個binlog文件的哪個pos節點位置開始,請把此節點以后的日志內容發給我”。

4、slave端的SQL線程在檢測到relaylog文件中新增內容后,會馬上解析該log文件中的內容。然后還原成在master端真實執行的那些SQL語句,并在自身按順豐依次執行這些SQL語句。這樣,實際上就是在master端和slave端執行了同樣的SQL語句,所以master端和slave端的數據完全一樣的。

以上mysql主從復制交互過程比較拗口,理解起來也比較麻煩,我簡化了該交互過程。如下:

1、master在執行sql之后,記錄二進制log文件(bin-log)。

2、slave連接master,并從master獲取binlog,存于本地relay-log中,然后從上次記住的位置起執行SQL語句,一旦遇到錯誤則停止同步。

從以上mysql的Replication原理可以看出:

主從間的數據庫不是實時同步,就算網絡連接正常,也存在瞬間主從數據不一致的情況。

如果主從的網絡斷開,則從庫會在網絡恢復正常后,批量進行同步。

如果對從庫進行修改數據,那么如果此時從庫正在在執行主庫的bin-log時,則會出現錯誤而停止同步,這個是很危險的操作。所以一般情況下,我們要非常小心的修改從庫上的數據。

一個衍生的配置是雙主、互為主從配置,只要雙方的修改不沖突,則可以工作良好。

如果需要多主庫的話,可以用環形配置,這樣任意一個節點的修改都可以同步到所有節點。

3.5、整體過程就是:

MySQL 復制基于主服務器在二進制日志中跟蹤所有對數據庫的更改(更新、刪除等等)。每個從服務器從主服務器接收主服務器已經記錄到其二進制日志的保存的更新,以便從服務器可以對其數據拷貝執行相同的更新。

將主服務器的數據拷貝到從服務器的一個途徑是使用LOAD DATA FROM MASTER語句。請注意LOAD DATA FROM MASTER目前只在所有表使用MyISAM存儲引擎的主服務器上工作。并且,該語句將獲得全局讀鎖定。

MySQL 使用3個線程來執行復制功能,其中1個在主服務器上,另兩個在從服務器上。當發出START SLAVE時,從服務器創建一個I/O線程,以連接主服務器并讓它發送記錄在其二進制日志中的語句。

主服務器創建一個線程,即I/O線程,將二進制日志中的內容發送到從服務器。該線程可以識別為主服務器上SHOW PROCESSLIST的輸出中的Binlog Dump線程。

從服務器I/O線程讀取主服務器Binlog Dump線程發送的內容并將該數據拷貝到從服務器數據目錄中的本地文件中,即中繼日志。

第3個線程是SQL線程,是從服務器創建用于讀取中繼日志并執行日志中包含的更新。

有多個從服務器的主服務器創建為每個當前連接的從服務器創建一個線程;每個從服務器有自己的I/O和SQL線程。

四、MySQL支持的復制類型及其優缺點

bin-log 日志文件有兩種格式,一種是Statement-Based,另一種是Row-Based。

(1):基于語句的復制(Statement-Based): 在主服務器上執行的SQL語句,在從服務器上執行同樣的語句。MySQL默認采用基于語句的復制,效率比較高。 一旦發現沒法精確復制時,會自動選著基于行的復制。

(2):基于行的復制(Row-Based):把改變的內容復制過去,而不是把命令在從服務器上執行一遍. 從mysql5.0開始支持

(3):混合類型的復制: 默認采用基于語句的復制,一旦發現基于語句的無法精確的復制時,就會采用基于行的復制。

4.1、Statement-Based優點和缺點分析

優點

  1. bin-log日志包含了描述數據庫操作的事件,但是這些事件包含的情況只是對數據庫進行改變的操作,例如 insert、update、create、delete等操作。相反對于select、desc等類似的操作并不會去記錄,并且它記錄的是語句,所以相對于Row-Based來說這樣會占用更少的存儲空間。
  2. 因為bin-log日志文件記錄了所有的改變數據庫的語句,所以此文件可以作為以后的數據庫的審核依據

缺點

  1. 不安全,并不是所有的改變數據的語句都會被記錄復制。任何的非確定性的行為都是很難被記錄復制的。
  2. 例如:對于delete 或者update語句,如果使用了limit但是并沒有 order by ,這就屬于非確定性的語句,就不會被記錄
  3. 對于沒有索引條件的update語句,必須鎖定更多的數據,降低了數據庫的性能。
  4. insert……select 語句同樣也需要鎖定大量的數據,對數據庫的性能有所損耗。
  5. 獲取更詳細的信息可以參考官方文檔——Statement-Based的優點和缺點。

4.2、Row-Based優點和缺點分析

優點

  1. 所有的改變都會被復制,這是最安全的復制方式
  2. 對于 update、insert……select等語句鎖定更少的行
  3. 此種方式和大多數的數據庫系統一樣,所以了解其他的系統的人員可以很容易的轉到mysql

缺點

  1. 使用不方便,我們不能通過bin-log日志文件查看什么語句執行了,也無從知道在從服務器上接收到什么語句,我們只能看到什么數據改變了
  2. 因為記錄的是數據,所以說bin-log日志文件占用的存儲空間要比Statement-based大。
  3. 對于數據量大的操作其花費的時間有更長

獲取更詳細的信息可以參考官方文檔——Row-Based的優點和缺點

bin-log日志文件默認的格式為Statement-Based,如果想改變其格式在開啟服務的時候使用—binlog-format選項,其具體命令如下

mysqld_safe –user=msyql –binlog-format=格式 &

四、主服務器流程分析

4.1、主服務器線程 Binlog dump thread

Binlog dump 線程是當有從服務器連接的時候由主服務器創建,其大致工作過程經歷如下幾個階段:

首先bin-log日志文件加鎖,然后讀取更新的操作,讀取完畢以后將鎖釋放掉,最后將讀取的記錄發送給從服務器。

我們可以使用如下的命令來查看該線程的信息

  1. mysql> SHOW PROCESSLIST\G 

以我的系統為例,因為我這系統中是一臺主服務器和兩臺從服務器,所以會列出兩條Binlog dump線程的信息 

  1. *************************** 1. row ***************************  
  2. Id: 2  
  3. User: repuser  
  4. Host: 192.168.144.131:41544  
  5. db: NULL  
  6. Command: Binlog Dump  
  7. Time: 54  
  8. State: Master has sent all binlog to slave; waiting for binlog to be updated  
  9. Info: NULL  
  10. *************************** 2. row ***************************  
  11. Id: 3  
  12. User: repuser  
  13. Host: 192.168.144.132:40888 
  14. db: NULL  
  15. Command: Binlog Dump  
  16. Time: 31  
  17. State: Master has sent all binlog to slave; waiting for binlog to be updated  
  18. Info: NULL  

上述字段中的state字段會有以下幾種狀態:

1. Sending binlog event to slave

表示Binlog dump 線程已經讀取完binlog日志中更新的event,現在正在發送給從服務器

2. Finished reading one binlog; switching to next binlog

表示Binlog dump 線程已經讀取完一個binlog日志,現在正在打開下一個binlog日志讀取來發送給從服務器

3. Master has sent all binlog to slave; waiting for binlog to be updated

這就是上面我們看到的state的值,表示Binlog dump 線程已經讀取完所有的binlog日志文件,并且將其發送給了從服務器?,F在處于空閑狀態,正在等待讀取有新的操作的binlog日志文件

4. Waiting to finalize termination

這個狀態持續的很短暫,我們幾乎看不到。當線程停止的時候顯示此狀態。

上述幾個狀態就是一次主從復制過程中Binlog dump 線程所經歷的狀態,如果我們是在測試的環境中,上述1、2、4狀態我們幾乎是看不到的,因為它執行的很快。

在主從系統中主服務器上的一個主要的文件就是bin-log日志,該線程操作的文件也是此日志文件,因此這是我們需要在配置文件my.cnf 中打開bin-log日志的原因,使用此文件來記錄我們的更新操作。 

  1. [mysqld]  
  2. log-bin = mysql-bin  
  3. server-id = 1  

還有一點需要注意,在上面已經說過,但是在這里覺得有必要再重復一遍,就是有多少個從服務器連接主服務器上就有多少個Binlog dump 線程。

bin-log日志文件管理

對于bin-log日志文件,其默認的名稱為 mysql-bin.xxxxxx。而且還有一個索引文件mysql-bin.index,其中記錄了當前所有的bin-log日志文件。

對于新的主服務器只有一個bin-log日志文件 mysql-bin.000001。此時所有的操作都有這個文件來記錄,如果我們想更換bin-log日志文件,可以使用如下命令 

  1. Mysql>flush logs; 

此時會創建一個mysql-bin.000002文件來記錄以后的操作。除了使用上述命令以外,當bin-log日志文件達到其最大值的時候也會產生新的bin-log日志文件

其文件最大值和文件名包括索引文件的名稱可以使用 –max_binlog_size、–log-bin和—log-bin-index 選項來改變,具體命令如下

mysqld_safe –user=msyql –max_binlog_size=文件長度 –log-bin=新的日志文件名稱 –log-bin-index=新索引文件名 &

對于主服務器來說,總起來一句話:主服務器針對于每一個從服務器都創建一個Binlog dump線程,用來讀取bin-log日志中更新的操作將其發送給從服務器,發送完畢以后繼續等待bin-log日志是否有更新。

五、從服務器流程分析

在主服務器探究這篇文章中我們提到過,在一次主從復制過程中需要用到三個線程:Binlog dump 線程、Slave I/O 線程和Slave SQL線程,其中Binlog dump 線程在主服務器上面,剩下的兩個線程是在從服務器上面工作的。

這兩個線程在從服務器上面的工作流程如下圖所示:

對于這兩個線程隨著從服務器開啟slave而產生 

  1. mysql> START SLVAE; 

使用 

  1. Mysql> SHOW SLAVE STATUS\G 

查看這兩個線程情況 

  1. ……  
  2. Master_Log_File: mysql-bin.000003  
  3. Read_Master_Log_Pos: 1264  
  4. Relay_Log_File: localhost-relay-bin.000002  
  5. Relay_Log_Pos: 878  
  6. Relay_Master_Log_File: mysql-bin.000003  
  7. Slave_IO_Running: Yes  
  8. Slave_SQL_Running: Yes  
  9. ……  

上面結果中的 Slave_IO_Running:Yes和Slave_SQL_Running:Yes表示這兩個線程正在運行。

然后我們在從服務器上面使用命令 

  1. mysql> SHOW PROCESSLIAT\G 

顯示如下結果(記為 結果一) 

  1. *************************** 1. row ***************************  
  2. Id: 22  
  3. User: system user  
  4. Host:  
  5. db: NULL  
  6. Command: Connect  
  7. Time: 4  
  8. State: Waiting for master to send event  
  9. Info: NULL  
  10. *************************** 2. row ***************************  
  11. Id: 23  
  12. User: system user  
  13. Host:  
  14. db: NULL  
  15. Command: Connect  
  16. Time: 4  
  17. State: Slave has read all relay log; waiting for the slave I/O thread to update it  
  18. Info: NULL  

從State信息可以看出Id 22是I/O線程,正在等待主服務器發送更新的內容;Id 23是Slave SQL線程,已經讀取了relay log 文件中所有更新的內容,正在等待I/O線程更新該文件。

使用命令停止slave機制

  1. mysql> STOP SLVAE; 

然后我們再次查看會發現結果如下

  1. ……  
  2. Master_Log_File: mysql-bin.000003  
  3. Read_Master_Log_Pos: 1264  
  4. Relay_Log_File: localhost-relay-bin.000002  
  5. Relay_Log_Pos: 878  
  6. Relay_Master_Log_File: mysql-bin.000003  
  7. Slave_IO_Running: No  
  8. Slave_SQL_Running: No  
  9. ……  

說明這兩個線程已經停止了運行。此時再次使用 SHOW PROCESSLIST\G命令,則沒有結果顯示

5.1、Slave I/O線程

Slave I/O 線程去連接主服務器的Binlog dump 線程并要求其發送binlog日志中記錄的更新的操作,然后它將Binlog dump 線程發送的數據拷貝到從服務器上(也就是本地)的文件relay log中。

當然要查看此線程是否運行,除了上面介紹的方法,還可以使用

  1. mysql> SHOW SLAVE LIKE ‘Slave_running’; 

這時如果出現下面的結果說明該線程正在運行 

  1. +-----------------+-------------------+  
  2. | Variable_name | Value |  
  3. +-----------------+-------------------+  
  4. | Slave_running | ON |  
  5. +-----------------+-------------------+  

在上述結果一中我們可以看到1.row即是Slave I/O線程的信息,其State: Waiting for master to send event 表示正在等待主服務器發送內容。當然State不止這一個值,它還有其它的值,下面列出了State的所有的值

1. Waiting for master update

在連接到主服務器之前的初始狀態

2. Connecting to master

該線程正在連接主服務器,當然如果我們的網絡環境優異的話,此狀態我們幾乎是看不到的

3. Checking master version

這個狀態發生的時間也非常短暫,該狀態在該線程和主服務器建立連接之后發生。

4. Registering slave on master

在主服務器上面注冊從服務器,每當有新的從服務器連接進來以后都要在主服務器上面進行注冊

5. Requesting binlog dump

向主服務器請求binlog日志的拷貝

6. Waiting to reconnect after a failed binlog dump request

如果5中失敗,則該線程進入睡眠狀態,此時State就是這個值,等待著去定期重新連接主服務器,那這個周期的大小可以通過CHANGE MASTER TO 來指定

7. Reconnecting after a failed binlog dump request

去重新連接主服務器

8. Waiting for master to send event

此值就是我們上述結果所顯示的,正常情況下我們查看的時候一般都是這個值。其具體表示是這個線程已經和主服務器建立了連接,正在等待主服務器上的binlog 有更新,如果主服務器的Binlog dump線程一直是空閑的狀態的話,那此線程會等待很長一段時間。當然也不是一直等待下去,如果時間達到了slave_net_timeout規定的時間,會發生等待超時的情況,在這種情況下I/O線程會重新去連接主服務器

9. Queueing master event to the relay log

該線程已經讀取了Binlog dump線程發送的一個更新事件并且正在將其拷貝到relay log文件中

10. Waiting to reconnect after a failed master event read

當該線程讀取Binlog dump 線程發送的更新事件失敗時,該線程進入睡眠狀態等待去重新連接主服務器,這個等待的時間默認是60秒,當然這個值也可以通過CHANGE MASTER TO來設置

11. Reconnecting after a failed master event read

該線程去重新連接主服務器,當連接成功以后,那這個State的值會改變為 Waiting for master to send event

12. Waiting for the Slave SQL thread to free enough relay log space

relay log space的大小是通過relay_log_space_limit來設定的,隨著relay logs變得越來越大所有的大小合起來會超過這個設定值。這時該線程會等待SQL線程釋放足夠的空間刪除一些relay log文件

13. Waiting for slave mutex on exit

當線程停止的時候會短暫的出現該情況

以上就是State可能會出現的值,以及都是在什么情況下出現。

5.2、Slave SQL線程

Slave SQL線程是在從服務器上面創建的,主要負責讀取由Slave I/O寫的relay log文件并執行其中的事件。

在上述結果一中2.row即是Slave SQL線程的信息,同樣有一個State表示該線程的當前狀態。

下面也列出了State所有可能出現的情況。

1. Waiting for the next event in relay log

該狀態是讀取relay log之前的初始狀態

2. Reading event from the relay log

該狀態表示此線程已經在relay log中讀取了一個事件準備執行

3. Making temp file

該狀態表示此線程正在執行LOAD_DATA_INFILE并且正在創建一個臨時文件來保存從服務器將要讀取的數據

4. Slave has read all relay log; waiting for the slave I/O thread to update it

該線程已經處理完了relay log中的所有事件,現在正在等待slave I/O線程更新relay log文件

5. Waiting for slave mutex on exit

當線程停止的時候會短暫的出現該情況

上面是對從服務器上的兩個線程的簡單的介紹,在運行過程中我們會發現這兩個線程都離不開的文件就是relay log文件,下面我們簡單介紹一下relay log文件。

5.3、relay log文件

relay log 和 主服務器上的bin log很相似,都是一系列的文件,這些文件包括那些包含描述數據庫改變的操作事件的文件和索引文件,這個索引文件是relay logs文件的名稱集合。

relay log 文件和 bin log文件一樣,也是二進制文件,不能直接查看,需要使用mysql自帶工具mysqlbinlog查看。

] # mysqlbinlog mysql安裝路徑/data/relay-log文件

當然其索引文件的內容我們是可以直接使用 vim查看的。

對于relay logs 文件的名稱的命名規則默認使用的是 host_name-relay-bin.nnnnnn,以我的系統來說,其文件名默認為localhost-relay-bin.000001。對于索引文件的命名規則為host_name-relay-bin.index,同樣在我的系統中的名稱為localhost-relay-bin.index。這兩個名稱是可以通過—relay-log 和 –relay-log-index來改變的,其使用方式如下:

mysqld_safe –user=mysql –relay-log=文件名 –relay-log-index=新索引文件名 &

在這里如果改變這兩個名稱的話,可能會引起‘不能打開relay log’文件和‘在初始化relay log 過程中不能發現目標log’等錯誤。這也算是mysql設計的一個bug,沒有什么好的解決辦法,如果我們不想使用默認的文件名稱的話,唯一的辦法就是我們可以預料到從服務器的主機名稱可能在將來會發生改變,在開始初始化從服務器的時候就使用以上兩個選項指定文件名,這樣就可以使文件名不再依賴于服務器的主機名。

對于這些relay log文件并不是一直在增加的,當Slave SQL線程執行完一個relay log文件中所有的事件并且不再需要它的時候會把改relay log文件刪除。由于是Slave SQL線程來做這些事情,所以也沒有什么明確的規則來指定如何刪除relay log文件

以上的所有內容大概描述了主從復制系統中從服務器的主要工作流程。

六、如何提高Mysql主從復制的效率?

MySQL的主從復制,實際上就是Master記錄自己的執行日志binlog,然后發送給Slave,Slave解析日志并執行,來實現數據復制。對于復制效率,binlog的大小是非常重要的因素,因為它涉及了I/O和網絡傳輸

主從復制涉及到了兩端:master/slave,看下這兩端可以如何優化

(1)master 端

master端有2個參數可以控制

Binlog_Do_DB : 設定哪些數據庫需要記錄Binlog

Binlog_Ignore_DB : 設定哪些數據庫不要記錄Binlog

這兩項很重要,指定必要數據庫,忽略不需要復制的數據庫,可以減少binlog的大小,提高了I/O效率,加快網絡傳輸。

但這兩項也同樣比較危險,需要謹慎使用,因為可能會有主從數據不一致和復制出錯的風險。

因為MySQL判斷是否須要復制某個Event,不是根據產生該Event的語句所在的數據庫,而是根據執行時所在的默認數據庫,也就是登錄時指定的數據庫,或運行“USE DATABASE”中所指定的數據庫。

如果執行語句中明確指定了數據庫名稱,而這個數據庫是被指定不記錄Binlog的,那么這個語句在slave中執行時就會出錯。

例如

garbage 庫是被指定不記錄日志的

product 庫是指定要記錄日志的

執行下面的語句

use product;

delete from garbage.junk;

delete語句會被發送給slave,但slave中沒有garbage庫,所以執行時報錯,復制失敗

(2)slave 端

slave端有6個參數可以控制

Replicate_Do_DB : 設定須要復制的數據庫,多個DB用逗號分隔

Replicate_Ignore_DB : 設定可以忽略的數據庫

Replicate_Do_Table : 設定須要復制的Table

Replicate_Ignore_Table : 設定可以忽略的Table

Replicate_Wild_Do_Table : 功能同Replicate_Do_Table,但可以帶通配符來進行設置

Replicate_Wild_Ignore_Table : 功能同Replicate_Ig-nore_Table,可帶通配符設置

slave端的配置優化效果要明顯小于master端的,因為master端日志都寫完了,日志也傳過來了

但這幾個參數可以幫助我們減少日志的應用量,因為設置了過濾,實際寫入的sql數量變少了,slave端的復制也就加快了。 

責任編輯:龐桂玉 來源: 快資訊
相關推薦

2023-05-17 16:47:47

物聯網智能建筑

2015-09-06 16:05:57

綠色數據中心效率

2010-04-13 15:14:31

Oracle優化

2015-11-27 12:59:11

Android技巧提高效率

2018-09-30 14:46:38

Linux命令技巧

2010-09-09 16:51:50

2012-07-16 00:51:36

程序員效率

2023-01-10 11:18:29

DevOps

2012-03-27 09:17:43

Visual Stud

2025-01-15 17:00:00

開發Linux命令

2020-06-04 15:55:54

GitHub代碼開發者

2023-10-23 15:02:53

JavaScript

2019-06-25 08:42:13

Linux命令指令

2021-11-12 16:54:07

云計算5G云應用

2020-01-21 19:39:31

數據中心服務器工具

2012-06-01 14:44:27

惠普臺式機

2015-06-02 09:33:30

編程效率程序員

2014-12-12 09:52:04

JavaScript

2015-05-22 14:01:50

編程提高效率

2012-04-17 14:36:56

程序員提高效率
點贊
收藏

51CTO技術棧公眾號

欧洲亚洲精品久久久久| 日韩国产福利| 亚洲精品欧美| 国产偷亚洲偷欧美偷精品| 成人中文字幕av| av在线三区| 国产91在线|亚洲| 欧美亚洲国产日韩2020| 男人天堂资源网| 成人性生交大片免费看中文视频| 欧美性xxxx在线播放| 在线观看日本一区| av女名字大全列表| 久久国产欧美日韩精品| 性色av一区二区三区在线观看 | 国产欧美日韩另类| 成人精品电影| 亚洲精品大尺度| 中文字幕第一页在线视频| www.51av欧美视频| 亚洲精品免费电影| 日韩av一区二区三区在线观看 | 国产一区二区不卡老阿姨| 91精品国产高清久久久久久91 | 91美女片黄在线观| 人人草在线观看| 亚洲一级电影| 精品国产区一区二区三区在线观看| 亚洲一区二区在线免费| 亚洲1区在线| 欧美视频一区二| 无码播放一区二区三区| 一区二区三区伦理| 综合久久综合久久| 一区二区欧美日韩| av影片在线看| 久久精品亚洲一区二区三区浴池| 精品一区二区久久久久久久网站| 成人av无码一区二区三区| 精品一区二区三区在线视频| 国产成人精品综合| 6080午夜伦理| 国产精品色网| 4438全国成人免费| 91久久国产视频| 亚洲精选久久| 羞羞色国产精品| 精品无码人妻一区二区三区| 中文字幕一区二区三区乱码图片| 最好看的2019年中文视频 | 视频二区在线观看| 成人h精品动漫一区二区三区| av蓝导航精品导航| 精品国产免费无码久久久| 国产在线国偷精品产拍免费yy| 国产欧亚日韩视频| 国产精品视频一二区| 极品美女销魂一区二区三区免费| 国产日韩欧美综合| 国产精品久久久久久久久久久久久久久久久久 | 国产九色91回来了| 久久aⅴ国产欧美74aaa| 国产精品综合久久久| 国产一区二区女内射| 美女脱光内衣内裤视频久久网站 | 成人在线观看你懂的| 国产福利电影在线播放| 精品人伦一区二区三区蜜桃免费| 91免费视频网站在线观看| 日韩精品99| 欧美午夜精品一区二区三区| 日韩av卡一卡二| 成人激情久久| 亚洲第一在线视频| 少妇毛片一区二区三区| 欧美丝袜激情| 久久精品青青大伊人av| 精品午夜福利在线观看| 美女精品一区| 亚洲一区二区三区久久| 色香蕉在线视频| 成人va在线观看| 日韩精品另类天天更新| 黄网站免费在线观看| 亚洲一区二区三区四区在线观看 | 国产成a人亚洲精| 久久精品第九区免费观看| 成人亚洲性情网站www在线观看| 国产精品久久二区二区| 精品无码国模私拍视频| 色天使综合视频| 日韩亚洲欧美在线观看| 亚洲一级中文字幕| 亚洲精品国产成人影院| 欧美在线观看网站| 91精品国产综合久| 99精品久久只有精品| 亚洲一区二区三区午夜| 福利影院在线看| 欧美日韩国产在线观看| 朝桐光av一区二区三区| 欧美xxav| 秋霞av国产精品一区| av天堂一区二区三区| 久久嫩草精品久久久精品一| 佐佐木明希av| 日本综合视频| 亚洲第一福利视频| sm捆绑调教视频| 久久久久久黄| 国产福利不卡| 久热国产在线| 欧洲一区二区三区免费视频| 国产亚洲精品成人a| 色欧美自拍视频| 91精品国产电影| www.久久久久久| 国产精品久久精品日日| 欧美成人免费高清视频| 美国十次av导航亚洲入口| 日韩性生活视频| 亚洲综合图片网| av电影在线观看一区| 可以免费看的黄色网址| 韩国成人在线| 亚洲欧美中文字幕| 国产福利拍拍拍| 国产精品 欧美精品| 亚洲欧洲三级| av在线一区不卡| 亚洲色图35p| 日韩男人的天堂| 国产成人亚洲综合色影视| 亚洲欧洲国产日韩精品| 色8久久影院午夜场| 精品小视频在线| 日本黄色片视频| av高清不卡在线| 国产二级片在线观看| 超碰97久久| 欧美激情亚洲视频| 韩国av电影在线观看| 亚洲欧美一区二区三区久本道91| 亚洲a级黄色片| 91视频久久| 国产在线拍偷自揄拍精品| www.黄在线观看| 欧美性猛交xxxx乱大交退制版 | 一区二区不卡在线视频 午夜欧美不卡在| 国产wwwxx| 欧美综合久久| 国产精品亚洲精品| 91社区在线观看| 欧美精品丝袜中出| 久久免费看少妇高潮v片特黄| 久久精品国产一区二区三| 亚洲春色在线视频| 久久三级毛片| 久久久国产精彩视频美女艺术照福利 | 在线视频婷婷| 欧美欧美欧美欧美| 污软件在线观看| 国产成人免费高清| 国产毛片视频网站| 午夜a一级毛片亚洲欧洲| 秋霞av国产精品一区| www黄在线观看| 3d动漫精品啪啪一区二区竹菊 | 黄色免费看视频| 国产精品尤物| 亚洲v国产v| 国产亚洲字幕| 韩剧1988免费观看全集| 日本五码在线| 欧美日韩免费不卡视频一区二区三区 | 天美星空大象mv在线观看视频| 色88久久久久高潮综合影院| 97久久精品午夜一区二区| 欧美xxxxhdvideosex| 亚洲另类欧美自拍| 一区二区 亚洲| 一区二区激情视频| 无码熟妇人妻av| 美国三级日本三级久久99| 在线观看污视频| 色婷婷久久久| 成人福利视频在线观看| 国内老司机av在线| 中文字幕av一区二区| 国产肥老妇视频| 黑人欧美xxxx| 国产精品免费人成网站酒店| av动漫一区二区| 亚洲va综合va国产va中文| 亚洲激情欧美| 亚洲欧洲免费无码| 欧美交a欧美精品喷水| 国产一区二区色| 国内精彩免费自拍视频在线观看网址| 中文国产亚洲喷潮| 网站黄在线观看| 欧美日韩国产综合久久 | jizz性欧美| 亚洲美女精品久久| a天堂视频在线| 色婷婷激情一区二区三区| 午夜免费激情视频| 欧美激情在线免费观看| 欧美大喷水吹潮合集在线观看| 久久激情五月激情| 成人在线免费在线观看| 欧美成人午夜| 亚洲一区二区三区欧美| 国产不卡一二三区| 国产精品二区三区四区| 91麻豆精品| 国产精品丝袜久久久久久高清 | 中文字幕在线永久| 国产精品888| 午夜精品免费看| 日韩精品一级中文字幕精品视频免费观看 | 天堂аⅴ在线地址8| 亚洲欧美日韩精品久久| 内射无码专区久久亚洲| 日韩一区二区精品葵司在线| 亚洲一区二区视频在线播放| 色香蕉久久蜜桃| 日本少妇激情舌吻| 亚洲精品国产高清久久伦理二区| 欧美性生给视频| 国产精品国产自产拍高清av | 日韩一级片一区二区| 加勒比久久综合| 久久狠狠久久综合桃花| 国产精品白丝一区二区三区| 亚洲xxx自由成熟| 亚洲午夜国产成人| 国产日本欧美一区| 巨大黑人极品videos精品| 日本中文字幕久久看| 日本黄色免费在线| 久久人人爽人人| 欧美亚洲天堂| 欧美激情啊啊啊| 乱插在线www| 久久久久久久爱| av影片在线| 久久久久久久电影一区| 国产经典三级在线| 久久久久久午夜| 久草在线视频资源| 久久免费在线观看| 日韩激情电影| 欧美中文字幕在线视频| 日韩成人影音| 国产精品日韩久久久久| 久久久久久久性潮| 91精品啪aⅴ在线观看国产| 自拍偷拍欧美日韩| **亚洲第一综合导航网站| 91精品入口| 久久久久九九九| 精品九九在线| 91九色国产ts另类人妖| 欧美黄色免费| 久久国产亚洲精品无码| 日韩国产精品久久久| 精品亚洲一区二区三区四区| 精品一区二区免费看| 尤物网站在线看| 国产成人精品影院| 一级特黄a大片免费| 国产亚洲成aⅴ人片在线观看| 青青草华人在线视频| 一区二区三区高清| 国产三级av片| 欧美日韩一区在线观看| 亚洲产国偷v产偷v自拍涩爱| 亚洲精品二三区| 日本在线免费| 久久久久五月天| 超薄肉色丝袜脚交一区二区| 91亚洲精品久久久| 美女视频亚洲色图| 亚洲国产成人不卡| 亚洲婷婷在线| 国产成人无码av在线播放dvd| 久久精品72免费观看| 人妻av一区二区| 国产欧美一区二区三区在线看蜜臀 | 最新中文字幕一区二区三区| 国产午夜福利一区二区| 在线免费一区三区| 免费激情视频网站| 日韩中文视频免费在线观看| cao在线视频| 成人免费午夜电影| 人人精品视频| 日韩不卡一二区| 日韩高清在线观看| 亚洲成年人在线观看| 中文字幕精品三区| 日韩精品一区三区| 欧美日韩另类一区| 欧美日韩视频精品二区| 美女久久久久久久久久久| 精品3atv在线视频| 国产欧美日韩一区| 2023国产精品久久久精品双| 日本www高清视频| 成人av在线资源| 国产精品丝袜一区二区| 91国产成人在线| 免费激情视频网站| 精品综合久久久久久97| jizz亚洲女人高潮大叫| 精品国产一区二区三区四区vr| 无需播放器亚洲| 亚洲精品高清无码视频| 99久久er热在这里只有精品66| 亚洲一级生活片| 色婷婷亚洲综合| 亚洲人午夜射精精品日韩| 欧美另类在线观看| 欧州一区二区三区| 亚洲国产精品女人| 麻豆成人91精品二区三区| 亚洲国产日韩一区无码精品久久久| 亚洲午夜久久久久中文字幕久| 国产欧美日韩成人| 日韩在线观看免费全集电视剧网站| 高潮一区二区| 欧美黑人3p| 久久精品成人| 国产色视频一区二区三区qq号| 午夜激情一区二区三区| 日韩在线观看视频一区二区三区| 欧美刺激性大交免费视频| 粉嫩av国产一区二区三区| 中文字幕一区二区中文字幕| 久久成人精品无人区| 国产精品69久久久久孕妇欧美| 欧美无砖砖区免费| 91在线免费看| 成人黄色短视频在线观看 | 日韩一级性生活片| 国产91丝袜在线播放0| 久草视频在线资源| 精品88久久久久88久久久| 91九色美女在线视频| 国产日韩欧美一区二区| 亚洲免费黄色| www.色天使| 日本二三区不卡| 一本一道波多野毛片中文在线 | 一级做a爰片久久毛片16| 日韩在线观看免费av| 国产日韩中文在线中文字幕| 国产精品videossex国产高清 | 久久精品盗摄| 极品久久久久久久| 在线播放中文字幕一区| 午夜av在线免费观看| 精品伦理一区二区三区| 久久婷婷丁香| 免费在线观看黄色小视频| 日韩一级黄色大片| 在线天堂资源| 一区二区视频在线免费| 国产高清在线精品| 波多野结衣国产| 在线日韩日本国产亚洲| 成人午夜888| 男女超爽视频免费播放| 国产亚洲视频系列| 国产美女三级无套内谢| 性欧美视频videos6一9| 精品国产一区二区三区小蝌蚪 | 国产精品高清无码| 欧美成人网在线| 亚洲精品中文字幕99999| 青青草原国产在线视频| 亚洲一区二区三区在线看| 免费毛片在线| 91在线精品视频| 国产精品呻吟| 9999热视频| 日韩精品亚洲精品| 亚洲伦理一区二区| 日日碰狠狠添天天爽超碰97| 国产精品美女久久久久aⅴ国产馆| 亚洲第一视频在线播放| 国产精品麻豆va在线播放| 欧美精品综合| 国产一区二区三区精品在线| 欧美v国产在线一区二区三区| 最新日韩三级| av在线com| 亚洲欧洲99久久| 青青青手机在线视频观看|