日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql5.6,基于GTID的主从同步与延迟复制

發布時間:2025/3/21 数据库 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql5.6,基于GTID的主从同步与延迟复制 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


GTID相關:

? 在mysql5.6之前,mysql主從復制是slave通過配置master的binlog位置實現的,且每一個slave自身的binlog卻不同。而在mysql5.6版本后引入了GTID(全局事務標識符),這個值在master生成,slave只要在開啟主從復制時指定master的用戶,密碼,就可獲取master的GTID實現同步,而無需再每次去查看master的binlog位置,大大方便了主從同步的配置。GTID的唯一性強化了數據的主備一致性,故障恢復,以及容錯能力。



延遲復制相關:

? 在之前的博客中介紹過mysql的延遲復制,當時是基于第三方工具percona-toolkit實現的。在mysql5.6版本后,mysql自帶了延遲復制的功能,且配置十分簡單。



實驗環境:

? ? 主庫:192.168.52.128:3306

? ? 從庫:192.168.52.135:3306



配置GTID復制:

? 1:安裝mysql(不贅述)


? 2:開啟GTID模式,主從庫都要:

? 在my.cnf配置文件中加入binlog以及gtid相關配置,并重啟mysql。

主:

[mysqld] binlog-format=ROW log-bin=master-bin-log log-slave-updates=true gtid-mode=on????????????????----開啟gtid enforce-gtid-consistency=true???????---強制GTID一致性 master-info-repository=TABLE relay-log-info-repository=TABLE sync-master-info=1 slave-parallel-workers=2??????????---設定從服務器的SQL線程數 binlog-checksum=CRC32 master-verify-checksum=1 slave-sql-verify-checksum=1 binlog-rows-query-log_events=1 server-id=1

從:

[mysqld] server-id?=?2 log-bin=mysql-bin binlog_format=row log-slave-updates=true????????? gtid-mode=on??? enforce-gtid-consistency=true master-info-repository=TABLE relay-log-info-repository=TABLE sync-master-info=1 slave-parallel-workers=4 binlog-checksum=CRC32 master-verify-checksum=1 slave-sql-verify-checksum=1 binlog-rows-query-log_events=1

? 重啟mysql:

service?mysqld?restart

? 查看主庫及叢庫的gtid是否開啟:

? 這時主庫上會分配一個gtid號:


? 3:在主庫上創建復制所需的賬戶:

mysql>grant?replication?slave?on?*.*?to?repl@192.168.52.%?identified?by?'123456'; mysql>flush?privileges;

??

? 4:從庫上配置同步。

mysql>change?master?to?master_host='192.168.52.128',master_user='repl',master_password='123456',master_auto_position=1;? mysql>slave?start;

? 可以看到這里不用去主庫查找binlog與相關的位置信息,直接使用master_auto_position=1,mysql會自動查找同步的位置

??

? 5:查看效果:

? 可以看到同步已經正常進行中,同步位置為7。

? 進行一些操作,驗證同步效果:


? 主:創建一個實例,并新建一張表,插入一些數據

? 從:

? 同步正常,使用show slave stautus\G查看同步狀態,可以看到同步位置執行到了10;



復制延遲配置:

mysql>stop?slave; mysql>CHANGE?MASTER?TO?MASTER_DELAY?=?100;?????????-------單位為秒 mysql>start?slave; mysql>show?slave?status?\G;

? SQL_Delay:字段變為100,表示此時從庫與主庫的同步開始有了100秒的固定延遲。

? SQL_Remaining_Delay:當主庫有了新的操作,該字段會進入倒計時,從配置的延遲時間(這里為100)開始。正常情況下為NULL。




總結

以上是生活随笔為你收集整理的mysql5.6,基于GTID的主从同步与延迟复制的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。