国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MySQL主從復制的原理及配置方法(比較詳細)

2020-01-18 23:17:44
字體:
來源:轉載
供稿:網友

一、復制的原理

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

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

MySQL 使用3個線程來執行復制功能,其中1個在主服務器上,另兩個在從服務器上。當發出START SLAVE時,從服務器創建一個I/O線程,以連接主服務器并讓它發送記錄在其二進制日志中的語句。
主服務器創建一個線程將二進制日志中的內容發送到從服務器。該線程可以識別為主服務器上SHOW PROCESSLIST的輸出中的Binlog Dump線程。
從服務器I/O線程讀取主服務器Binlog Dump線程發送的內容并將該數據拷貝到從服務器數據目錄中的本地文件中,即中繼日志。   
第3個線程是SQL線程,是從服務器創建用于讀取中繼日志并執行日志中包含的更新。
有多個從服務器的主服務器創建為每個當前連接的從服務器創建一個線程;每個從服務器有自己的I/O和SQL線程。

二、復制線程的狀態

1.復制主線程的狀態

復制代碼 代碼如下:

Sending binlog event to slave
二進制日志由各種事件組成,一個事件通常為一個更新加一些其它信息。線程已經從二進制日志讀取了一個事件并且正將它發送到從服務器。
Finished reading one binlog; switching to next binlog
線程已經讀完二進制日志文件并且正打開下一個要發送到從服務器的日志文件。
Has sent all binlog to slave; waiting for binlog to be updated
線程已經從二進制日志讀取所有主要的更新并已經發送到了從服務器。線程現在正空閑,等待由主服務器上新的更新導致的出現在二進制日志中的新事件。
Waiting to finalize termination
線程停止時發生的一個很簡單的狀態。

2.復制從I/O線程狀態

復制代碼 代碼如下:
Connecting to master
線程正試圖連接主服務器。

Checking master version
建立同主服務器之間的連接后立即臨時出現的狀態。

Registering slave on master
建立同主服務器之間的連接后立即臨時出現的狀態。

Requesting binlog dump
建立同主服務器之間的連接后立即臨時出現的狀態。線程向主服務器發送一條請求,索取從請求的二進制日志文件名和位置開始的二進制日志的內容。

Waiting to reconnect after a failed binlog dump request
如果二進制日志轉儲請求失敗(由于沒有連接),線程進入睡眠狀態,然后定期嘗試重新連接。可以使用

主站蜘蛛池模板: 定州市| 遵义县| 绥芬河市| 文安县| 襄汾县| 隆安县| 罗定市| 宾川县| 武清区| 乌什县| 精河县| 雷波县| 河池市| 黄浦区| 阜新| 哈密市| 彝良县| 临朐县| 肃宁县| 始兴县| 宣化县| 定南县| 通江县| 乌什县| 云浮市| 仁化县| 汝州市| 石门县| 凤庆县| 枣庄市| 云和县| 门源| 绿春县| 合川市| 克什克腾旗| 金门县| 静安区| 万安县| 泰顺县| 衡阳市| 海安县|