MySQL中主從復制是什么-創(chuàng)新互聯(lián)

這篇文章主要介紹了MySQL中主從復制是什么,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

創(chuàng)新互聯(lián)專注于宜州網(wǎng)站建設服務及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供宜州營銷型網(wǎng)站建設,宜州網(wǎng)站制作、宜州網(wǎng)頁設計、宜州網(wǎng)站官網(wǎng)定制、成都微信小程序服務,打造宜州網(wǎng)絡公司原創(chuàng)品牌,更為您提供宜州網(wǎng)站排名全網(wǎng)營銷落地服務。

前言:

在MySQL中,主從架構(gòu)應該是最基礎、最常用的一種架構(gòu)了。后續(xù)的讀寫分離、多活高可用架構(gòu)等大多都依賴于主從復制。主從復制也是我們學習MySQL過程中必不可少的一部分,關于主從復制的文章有很多,筆者也來湊湊熱鬧,寫寫這方面的內(nèi)容吧,同時分享下自己的經(jīng)驗和方法。

1.主從復制簡介及原理

主從復制(也稱 AB 復制)是指一臺服務器充當主數(shù)據(jù)庫服務器,另一臺或多臺服務器充當從數(shù)據(jù)庫服務器,主服務器中的數(shù)據(jù)自動復制到從服務器之中。對于多級復制,數(shù)據(jù)庫服務器既可充當主機,也可充當從機。MySQL默認采用異步復制方式。

主從復制的過程及原理可以總結(jié)如下:

  1. master服務器將數(shù)據(jù)的改變記錄二進制binlog日志,當master上的數(shù)據(jù)發(fā)生改變時,則將其改變寫入二進制日志中。
  2. slave服務器會在一定時間間隔內(nèi)對master二進制日志進行探測其是否發(fā)生改變,如果發(fā)生改變,則開始一個I/OThread請求master二進制事件。
  3. 同時主節(jié)點為每個I/O線程啟動一個dump線程,用于向其發(fā)送二進制事件,并保存至從節(jié)點本地的中繼日志中,從節(jié)點將啟動SQL線程從中繼日志中讀取二進制日志,在本地重放,使得其數(shù)據(jù)和主節(jié)點的保持一致。

MySQL中主從復制是什么

 2.基于二進制文件位置配置主從復制

基于二進制文件位置的主從復制又可以稱為傳統(tǒng)復制,即從服務器依賴于主服務器的binlog文件位置,當主庫發(fā)生數(shù)據(jù)變更時,binlog pos位點會增長,從庫會感應到變化來完成同步。

配置主從復制,我們首先要準備至少兩臺MySQL實例,一臺充當主服務器、一臺充當從服務器。由于主從復制依賴于binlog,所以主庫必須開啟binlog,且主從要配置不同的server_id,下面具體展示下配置過程:

2.1 確認主從庫配置參數(shù)

MySQL主從服務器建議有如下配置,可以先確認下,如果未配置,則需要修改配置文件然后重啟。

# 主庫參數(shù)配置 要有以下參數(shù)
vim /etc/my.cnf 
[mysqld] 
log-bin = binlog //啟用二進制日志
server-id = 137 //服務器唯一ID,默認值是1,一般設置為IP地址的最后一段數(shù)字
binlog_format = row //bilog設置為row模式 防止復制出錯

# 從庫建議配置以下參數(shù)
vim /etc/my.cnf 
[mysqld] 
relay-log = relay-bin
server-id = 138

當前標題:MySQL中主從復制是什么-創(chuàng)新互聯(lián)
分享路徑:http://muchs.cn/article10/dsoddo.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供面包屑導航、搜索引擎優(yōu)化、虛擬主機、企業(yè)建站、品牌網(wǎng)站建設、外貿(mào)網(wǎng)站建設

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化