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

首頁 > 數據庫 > MySQL > 正文

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

2024-07-24 12:47:24
字體:
來源:轉載
供稿:網友

一、復制的原理

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
如果二進制日志轉儲請求失敗(由于沒有連接),線程進入睡眠狀態,然后定期嘗試重新連接??梢允褂猫Cmaster-connect-retry選項指定重試之間的間隔。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 随州市| 阳高县| 丁青县| 湘潭县| 昆山市| 日照市| 瑞昌市| 彭阳县| 台北市| 叙永县| 邳州市| 托克托县| 涟水县| 基隆市| 济阳县| 凤阳县| 赤水市| 清苑县| 潮安县| 贡嘎县| 紫云| 怀集县| 宁河县| 宁蒗| 布尔津县| 龙海市| 灵石县| 青河县| 彰武县| 镇原县| 郸城县| 格尔木市| 龙门县| 赞皇县| 贺州市| 奎屯市| 新民市| 东宁县| 务川| 宁远县| 翁源县|