色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

一文詳解MySQL主從復制

阿銘linux ? 來源:阿銘linux ? 2023-01-17 09:13 ? 次閱讀

19.1 主從復制介紹

19.1.1 主從存在的意義

數據備份:為了避免單點故障,增加一個從服務器,用來復制主服務器上的數據。

分擔負載:將寫操作在主上做,查詢操作在從上做。

19.1.2 主從復制原理

21297f38-95f6-11ed-bfe3-dac502259ad0.png

① 主上將所有變更事件記錄到binlog里

② 從發起請求連接主

③ 主的binlog備份線程將binlog傳給從

④ 從的I/O線程將binlog解析成自己的relay log

⑤ 從的SQL線程根據relay log來執行具體的SQL語句

MySQL主從復制是一個異步的復制過程,主庫發送更新事件到從庫,從庫讀取更新記錄,并執行更新記錄,使得從庫的內容與主庫保持一致。

binlog:binary log,主庫中保存所有更新事件日志的二進制文件。binlog是數據庫服務啟動的一刻起,保存數據庫所有變更記錄(數據庫結構和內容)的文件。在主庫中,只要有更新事件出現,就會被依次地寫入到binlog中,之后會推送到從庫中作為從庫進行復制的數據源。

binlog dump線程:每當有從庫連接到主庫的時候,主庫都會創建一個線程然后發送binlog內容到從庫。對于每一個即將發送給從庫的sql事件,binlog dump線程會將其鎖住。一旦該事件被線程讀取完之后,該鎖會被釋放,即使在該事件完全發送到從庫的時候,該鎖也會被釋放。

在從庫中,當復制開始時,從庫就會創建從庫I/O線程和從庫的SQL線程進行復制處理。

從庫I/O線程:當START SLAVE語句在從庫開始執行之后,從庫創建一個I/O線程,該線程連接到主庫并請求主庫發送binlog里面的更新記錄到從庫上。從庫I/O線程讀取主庫的binlog輸出線程發送的更新并拷貝這些更新到本地文件,其中包括relay log文件。

從庫的SQL線程:從庫創建一個SQL線程,這個線程讀取從庫I/O線程寫到relay log的更新事件并執行。

19.2 搭建主從復制

19.2.1 基于二進制日志文件位置的復制

① 根據我們前面的文檔,搭建兩臺MySQL服務,具體步驟略

192.168.222.128 主
192.168.222.132 從

② 檢查并配置兩臺機器的server_id

vi my.cnf #搜索server_id ,如果沒有則增加
主上設置為server_id=1
從上設置為 server_id = 2

③ 在主上創建用作主從復制的用戶

create user 'rep'@'192.168.222.132'  identified with 'mysql_native_password' by 'AmingLinux.Com';
grant REPLICATION SLAVE  on *.* to 'rep'@'192.168.222.132';
flush privileges;

④在主上查詢日志名字以及位置

show master status; ##記錄下對應的日志命令以及位置
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| aminglinux.000001 |      853|              |                  |
+------------------+----------+--------------+------------------+

⑤到從上執行

change master to master_host='192.168.222.128',master_user='rep',master_password='AmingLinux.Com',master_log_file='aminglinux.000001',master_log_pos=853;
start slave;
show slave statusG

19.2.2 基于GTID的主從復制

1. 什么是GTID

GTID(Global Transaction ID)是對于一個已提交事務的編號,并且是一個全局唯一的編號。GTID實際上是由UUID+TID組成的。其中UUID是一個MySQL實例的唯一標識,保存在mysql數據目錄下的auto.cnf文件里。TID代表了該實例上已經提交的事務數量,并且隨著事務提交單調遞增。下面是一個GTID的具體形式:

3E11FA47-71CA-11E1-9E33-C80AA9429562:23

2.GTID的作用

根據GTID可以知道事務最初是在哪個實例上提交的,GTID的存在方便了Replication的Failover(故障切換)

3. GTID比傳統復制的優勢

更簡單的實現failover,不用以前那樣在需要找log_file和log_Pos。更簡單的搭建主從復制。比傳統復制更加安全。GTID是連續沒有空洞的,因此主從庫出現數據沖突時,可以用添加空事物的方式進行跳過。

4. GTID的工作原理

① master更新數據時,會在事務前產生GTID,一同記錄到binlog日志中。

②slave端的i/o線程將變更的binlog,寫入到本地的relay log中。

③sql線程從relay log中獲取GTID,然后對比slave端的binlog是否有記錄。

④如果有記錄,說明該GTID的事務已經執行,slave會忽略。

⑤如果沒有記錄,slave就會從relay log中執行該GTID的事務,并記錄到binlog。

⑥在解析過程中會判斷是否有主鍵,如果有就用二級索引,如果沒有就用全部掃描。

4. GTID復制搭建

由于之前做過主從配置,可以先取消之前的主從。

slave上執行:

stop slave;
reset slave all;

master上執行:

reset master;

① 主上修改配置文件,重啟mysql服務

server_id = 1
gtid_mode = on
enforce_gtid_consistency=on
log_bin=mysql-bin
binlog_format=row
log-slave-updates=1
skip-slave-start=1

② 從上修改配置文件,重啟mysql服務

server_id = 2
gtid_mode = on
enforce_gtid_consistency=on
log_bin=mysql-bin
binlog_format=row
log-slave-updates=1
skip-slave-start=1

③ 主上授權用戶

create user 'rep'@'192.168.222.132'  identified with 'mysql_native_password' by 'AmingLinux.Com';
grant REPLICATION SLAVE  on *.* to 'rep'@'192.168.222.132';
flush privileges;

④ 從上配置主從

stop slave;
CHANGE MASTER TO MASTER_HOST='192.168.222.128', MASTER_USER='rep',MASTER_PASSWORD='AmingLinux.Com',MASTER_AUTO_POSITION=1,MASTER_CONNECT_RETRY=10;
start slave;

④ 查看主從狀態

從上執行

show slave statusG

⑤ 測試主從

主上新建一個數據庫

create database  testd;

到從上查看是否有testd數據庫

show databases;

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 服務器
    +關注

    關注

    12

    文章

    9293

    瀏覽量

    85850
  • 數據備份
    +關注

    關注

    0

    文章

    57

    瀏覽量

    11880
  • MySQL
    +關注

    關注

    1

    文章

    829

    瀏覽量

    26670
  • 日志
    +關注

    關注

    0

    文章

    138

    瀏覽量

    10666
  • 線程
    +關注

    關注

    0

    文章

    505

    瀏覽量

    19722

原文標題:MySQL主從復制

文章出處:【微信號:aming_linux,微信公眾號:阿銘linux】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    基于二進制安裝MySQL主從復制

    二進制安裝MySQL實現主從復制
    發表于 03-10 09:43

    mysql主從復制

    mysql 主從復制
    發表于 04-28 14:30

    基于mycat的Mysql主從復制讀寫分離全攻略

    基于mycat的Mysql主從復制讀寫分離全攻略
    發表于 09-08 10:10 ?4次下載
    基于mycat的<b class='flag-5'>Mysql</b><b class='flag-5'>主從復制</b>讀寫分離全攻略

    利用MySQL進行從的主從復制

    本文講述了如何使用MyBatisPlus+ShardingSphereJDBC進行讀寫分離,以及利用MySQL進行從的主從復制
    的頭像 發表于 07-28 09:47 ?1073次閱讀

    MySQL主從復制原理詳解

    簡單講,MySQL主從復制就是數據寫入臺服務器(主服務器)后,同時還會額外寫入另外的服務器(從服務器)。也就是說數據會寫多份,這樣做的目的主要有兩個:
    的頭像 發表于 02-06 10:27 ?1112次閱讀

    個操作把MySQL主從復制整崩了

    最近公司某項目上反饋mysql主從復制失敗,被運維部門記了次大過,影響到了項目的驗收推進,那么究竟是什么原因導致的呢?而主從復制的原理又是什么呢?本文就對排查分析的過程做
    的頭像 發表于 05-11 11:14 ?562次閱讀
    <b class='flag-5'>一</b>個操作把<b class='flag-5'>MySQL</b><b class='flag-5'>主從復制</b>整崩了

    聊聊RocketMQ的主從復制

    RocketMQ 主從復制是 RocketMQ 高可用機制之,數據可以從主節點復制個或多個從節點。
    的頭像 發表于 07-04 09:42 ?662次閱讀
    聊聊RocketMQ的<b class='flag-5'>主從復制</b>

    什么是Redis主從復制

    Redis主從復制 來自靈魂的拷問:什么是Redis主從復制? 簡言之就是: 主對外從對內,主可寫從不可寫 主掛了,從不可為主 看下面的圖加深下理解: 對,你沒看錯,Redis主從復制沒有動態選舉
    的頭像 發表于 10-09 15:09 ?441次閱讀
    什么是Redis<b class='flag-5'>主從復制</b>

    mysql主從復制三種模式

    MySQL主從復制種常見的數據同步方式,它可以實現將個數據庫的更改同步到其他多個數據庫的功能。主從復制可以提高數據庫的可用性和性能,以
    的頭像 發表于 11-16 14:04 ?1588次閱讀

    mysql如何實現主從復制的具體流程

    主從復制MySQL數據庫中常用的數據復制技術之,它的主要目的是將個數據庫服務器上的數據復制
    的頭像 發表于 11-16 14:10 ?806次閱讀

    mysql主從復制主要有幾種模式

    MySQL主從復制MySQL數據庫中常用的種數據復制方式,用于實現數據的備份、負載均衡、故障恢復等目的。
    的頭像 發表于 11-16 14:15 ?1196次閱讀

    mysql主從復制的原理

    MySQL主從復制種數據庫復制技術,它允許將MySQL數據庫的更新操作自動
    的頭像 發表于 11-16 14:18 ?509次閱讀

    mysql主從復制 混合類型的復制

    MySQL主從復制種常用的數據復制技術,可以實現數據從MySQL服務器(主服務器)
    的頭像 發表于 11-16 14:20 ?594次閱讀

    mysql主從復制數據不致怎么辦

    MySQL主從復制種常用的數據復制技術,用于實現數據的實時同步和分布式部署。然而,在實際應用中,主從復制過程中出現數據不
    的頭像 發表于 11-16 14:35 ?2456次閱讀

    配置MySQL主從復制和讀寫分離

    配置MySQL主從復制和讀寫分離
    的頭像 發表于 10-23 11:44 ?528次閱讀
    配置<b class='flag-5'>MySQL</b><b class='flag-5'>主從復制</b>和讀寫分離
    主站蜘蛛池模板: 久久精品无码人妻无码AV蜜臀| 精品国产免费观看久久久| 后入到高潮免费观看| 邪恶肉肉全彩色无遮琉璃神社 | 熟妇内谢69XXXXXA片| 俺来也俺去也视频久久| 青青视频国产依人在线| 波多野结衣 无码片| 人妻久久久精品99系列AV| 成年人视频免费在线播放| 日韩欧美 亚洲视频| 国产成人免费观看在线视频| 无码骚夜夜精品| 国产伊人久久| 一级毛片在线免费视频| 久久精品视在线观看85| 最近的中文字幕2019国语| 免费网站在线观看国产v片| avtt天堂网Av无码| 色精品极品国产在线视频| 国产喷水1区2区3区咪咪爱AV| 亚洲欧美日韩中字视频三区| 精品国产乱码久久久久久免费 | 亚洲日韩欧美国产中文在线| 精品无码久久久久久国产百度| 影音先锋男人资源813.| 美女脱衣服搞鸡| 饱满奶大30p| 先锋影音av资源站av| 精品极品三大极久久久久| 中文字幕日本在线mv视频精品| 蜜芽最新域名解析网站| 成人小视频在线观看| 亚洲风情无码免费视频| 久久亚洲精品成人| 边做边爱免费视频| 亚洲国产精品自在自线观看| 麻豆久久国产亚洲精品超碰热| 闺蜜撬开我的腿用黄瓜折磨我| 亚洲香蕉网久久综合影院| 暖暖高清视频免费|