成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

面試官:說說MySQL主從復制實現原理?

數據庫 MySQL
MySQL 主從復制用于多個數據庫服務器之間的數據同步,它可以提供高可用性、提高數據庫整體性能和吞吐量,以及可以進行數據備份和數據庫恢復。

MySQL 主從復制(Master-Slave Replication)是一種數據復制技術,用于在多個數據庫服務器之間的數據同步。在主從復制架構中,一個服務器被設置為主服務器(Master),充當數據源,其他服務器被設置為從服務器(Slave),用來復制主服務器的數據。

1.主從復制優點

主從復制的主要優點有以下幾個:

  • 高可用性:通過將主數據庫的數據復制到一個或多個從數據庫,可以在主數據庫故障時快速切換到從數據庫,以實現系統的高可用性和容錯能力,從而保證系統的持續可用性。
  • 提高整體性能和吞吐量:通過將讀請求分散到多個從服務器上進行處理,從而減輕了主服務器的負載壓力,提高數據庫系統的整體性能和吞吐量。主服務器主要負責寫操作,而從服務器主要負責讀操作,從而分擔了主服務器的壓力。
  • 數據備份和恢復:通過主從同步,可以將主服務器上的數據異步復制到從服務器上,從而實現數據備份和災難恢復的需求。在應對意外數據丟失、災難恢復或誤操作時,可以使用從服務器作為數據的備份源來進行數據恢復。

2.如何實現主從復制?

(1)配置并重啟主服務器

在主服務器的配置文件(my.cnf)中添加以下參數:

[mysqld] server-id = 1 # 設置服務器 ID,每個主服務器和從服務器都必須有唯一的 ID 

log_bin = /var/log/mysql/mysql-bin.log # 開啟二進制日志,記錄數據修改操作

以上配置完成之后,重啟 MySQL 服務器,因為重啟了 MySQL 服務才能讓配置生效。

(2)創建用于主從復制的用戶

登錄到主服務器上,執行以下命令:

CREATE USER 'repl'@'%' IDENTIFIED BY 'password';    -- 替換為實際的用戶名和密碼
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';

(3)查看主服務器狀態

在 MySQL 主服務器中,執行以下命令,記錄下 File 和 Position 的值,后續用于配置從服務器:

SHOW MASTER STATUS;

(4)配置并重啟從服務器

在從服務器的配置文件(my.cnf)中添加以下參數:

[mysqld] server-id = 2 # 設置服務器 ID,每個主服務器和從服務器都必須有唯一的 ID

重啟從服務器,讓以上配置生效。

(5)在從服務器上設置主服務器信息

登錄到從服務器的 MySQL 中,執行以下命令(將 MASTER_HOST、MASTER_USER、MASTER_PASSWORD、MASTER_LOG_FILE 和 MASTER_LOG_POS 替換為對應的值):

CHANGE MASTER TO MASTER_HOST='master_ip', MASTER_USER='repl', 
MASTER_PASSWORD='password', MASTER_LOG_FILE='binlog_file', 
MASTER_LOG_POS=log_file_position;

(6)啟動從服務器的復制進程

執行以下命令啟動從服務器的復制進程:

START SLAVE;

(7)檢查從服務器的復制狀態

執行以下命令,確保 Slave_IO_Running 和 Slave_SQL_Running 的值都為 "YES":

SHOW SLAVE STATUS \G;

3.主從復制原理

MySQL 數據庫的主從復制主要是基于 Binary Log(二進制文件,簡稱 bin log)實現的,它的實現流程如下:

它的主要執行流程如下:

  • 主數據庫接收到一個寫操作(如 INSERT、UPDATE、DELETE)時,會將這個操作記錄到二進制日志(Binary Log)中,將數據修改的操作按順序記錄下來。
  • 從數據庫 IO 線程會自動連接主服務,從二進制中讀取同步數據,記錄到中繼日志(Relay Log)中。
  • 從數據庫的 SQL 線程會定期從中繼日志中獲取同步數據,寫入到從數據庫中。

4.Bin Log 日志格式

Binary Log 二級制日志,它總共有以下三種格式(不同的日志格式決定了不同的主從同步效果):

  • STATEMENT 格式(語句模式,出現在 MySQL 5.1 之前):在這種格式下,binlog 記錄的是執行的 SQL 語句的文本。
  1. 優點:日志文件通常較小,復制效率較高。
  2. 缺點:在某些情況下,由于數據庫環境的差異(如表結構、字符集等),在從服務器上重放這些 SQL 語句可能會導致不一致的結果。例如,獲取當前時間的函數或存儲過程等,可能會導致數據不一致。
  • ROW 格式(行模式,誕生于 MySQL 5.1):在這種格式下,binlog 記錄的是每一行數據更改的具體內容。
  1. 優點:能夠精確地記錄數據的變化,避免了 STATEMENT 格式中的環境依賴問題,提供了更強的一致性保證。
  2. 缺點:日志文件可能會比 STATEMENT 格式大,因為記錄了每一行的詳細變化。此外,ROW 格式的日志在進行大量數據更新時可能會導致更高的 I/O 開銷。
  • MIXED 格式(混合模式):在這種格式下,binlog 可以根據具體的 SQL 語句和操作自動選擇使用 STATEMENT 或 ROW 格式。
  1. 優點:結合了 STATEMENT 和 ROW 格式的優點,能夠在保證一致性的同時盡可能地優化日志大小和復制性能。
  2. 缺點:由于混合使用了兩種格式,可能需要更復雜的管理和監控。在某些特定情況下,MIXED 格式可能無法達到最優的性能或一致性。

5.主從復制模式

MySQL 中主要有以下兩種主從復制的模式,分別是異步復制和半同步復制。

  • 異步復制:MySQL 主從復制中最常見和默認的模式。在異步復制模式中,主服務器將數據修改操作記錄到二進制日志(Binary Log)中,并將日志傳輸給從服務器。從服務器接收到二進制日志后,會異步地應用這些日志進行數據復制。
  1. 優點:它的優點是及時響應給使用者,主服務器不會受到從服務器的影響而等待確認,可以提高主服務器的性能。
  2. 缺點:由于是異步復制,可能存在數據傳輸的延遲,且從服務器上的復制過程是不可靠的。如果主服務器故障,尚未應用到從服務器的數據可能會丟失。
  • 半同步復制:半同步復制是 MySQL 主從復制中的一種增強模式。在半同步復制模式中,主服務器將數據修改操作記錄到二進制日志,并等待至少一個從服務器確認已接收到并應用了這些日志后才繼續執行后續操作。
  1. 優點:可以提供更高的數據一致性和可靠性,確保至少一個從服務器與主服務器保持同步。如果主服務器故障,已經確認接收并應用到從服務器的數據不會丟失。
  2. 缺點:由于半同步復制需要等待從服務器的確認,因此相對于異步復制,會增加一定的延遲,可能會影響主服務器的性能。

如果對數據一致性和可靠性要求較高,可以考慮使用半同步復制;如果對延遲和主服務器性能要求較高,可以繼續使用異步復制,根據實際需求調整復制模式。

小結

MySQL 主從復制用于多個數據庫服務器之間的數據同步,它可以提供高可用性、提高數據庫整體性能和吞吐量,以及可以進行數據備份和數據庫恢復。MySQL 主從復制是通過 bin log 實現的,主服務寫入操作會同時添加到 bin log 中,而從數據庫定期拉取主數據庫的 bin log,然后將拉取的數據存放到自己的 relay log 中,之后再由單獨 SQL 線程將數據寫入到從數據庫中,此時 MySQL 的主從同步就完成了。

責任編輯:姜華 來源: 磊哥和Java
相關推薦

2025-04-07 00:00:00

MySQL數據庫服務器

2025-02-28 00:00:00

2024-07-04 17:22:23

2024-02-21 16:42:00

2023-12-29 13:45:00

2024-03-05 10:33:39

AOPSpring編程

2024-08-22 10:39:50

@Async注解代理

2024-10-12 16:25:12

2024-02-29 16:49:20

volatileJava并發編程

2024-08-29 16:30:27

2024-08-12 17:36:54

2024-03-28 10:37:44

IoC依賴注入依賴查找

2024-07-31 08:28:37

DMAIOMMap

2024-03-14 14:56:22

反射Java數據庫連接

2024-12-06 07:00:00

2021-05-20 08:34:03

CDN原理網絡

2024-03-22 06:56:24

零拷貝技術數據傳輸數據拷貝

2024-09-20 08:36:43

零拷貝數據傳輸DMA

2025-01-15 15:47:36

2024-06-04 09:02:03

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91在线一区二区 | 欧美久久久久久久 | 欧美天堂 | 欧洲精品视频一区 | 亚洲成人www | 国产成人亚洲精品 | 日本精品视频在线观看 | 久久久涩| 中文av在线播放 | 综合精品 | 久久综合一区二区三区 | 国产精品国产三级国产aⅴ无密码 | 午夜精品久久久久久久久久久久 | 亚洲高清视频在线观看 | 国产精品日韩在线观看一区二区 | 久草视频观看 | 暖暖日本在线视频 | 最新午夜综合福利视频 | 色婷婷综合久久久中文字幕 | 不卡一区二区三区四区 | 香蕉一区二区 | 亚洲一区中文字幕 | 久久精品国产一区 | 一区二区日本 | 成人深夜福利在线观看 | 欧美淫片 | 亚洲一区成人 | 国产亚洲精品91 | 亚洲国产精久久久久久久 | 国产日韩精品在线 | 国产成人精品免费视频 | 欧美激情一区二区三级高清视频 | 日韩欧美精品 | 91精品国产综合久久久密闭 | 亚洲成人av在线播放 | 99精品久久久久久 | av手机免费在线观看 | 中文字幕精品视频 | 精品亚洲国产成av人片传媒 | 午夜影院在线观看 | 国产精品中文字幕在线观看 |