MYSQL 基於GTID的複製

来源:http://www.cnblogs.com/yg_zhang/archive/2016/09/27/5914824.html
-Advertisement-
Play Games

1.概述 從MYSQL5.6 開始,mysql開始支持GTID複製。 基於日誌點複製的缺點: 從那個二進位日誌的偏移量進行增量同步,如果指定錯誤會造成遺漏或者重覆,導致數據不一致。 基於GTID複製: 1.從伺服器會告訴主伺服器已執行的事務的GTID值。 2.主庫會告訴從哪些GTID事務沒有被執行。... ...


1.概述

從MYSQL5.6 開始,mysql開始支持GTID複製。

基於日誌點複製的缺點:

從那個二進位日誌的偏移量進行增量同步,如果指定錯誤會造成遺漏或者重覆,導致數據不一致。

基於GTID複製:

1.從伺服器會告訴主伺服器已執行的事務的GTID值。

2.主庫會告訴從哪些GTID事務沒有被執行。

同一個事務在指定的從庫執行一次。

什麼是GTID

GTID即全局事務ID,器保證為每一個在主上提交的事務在複製集群中可以生成一個唯一的ID.

GTID=source_id:transaction_id

source_id:是主庫的server UUID,在數據目錄的auto.cnf 文件中。

transaction_id: 從1開始的一個序列。

2.基於GTID複製的步驟

1.在主DB伺服器上建立複製帳號。

和日誌點是一樣的。

2.配置主資料庫伺服器

bin_log =mysql-bin

server_id=1001

gtid_mode=on

enforce-gtid-consiste:強制事務一致性,保證事務的安全

  不能使用:

  1.create table 。。select

  2.在事務中使用create temporary table 建立臨時表,使用關聯更新事務表和非事務表。

log-slave-updates=on

在從伺服器中記錄從主伺服器傳過來的日誌數據。

使用GTID 5.6 必須使用此參數,5.7可以不使用。

3.配置從伺服器。

server_id=1002

relay_log=relay_log

gtid_mode=on

enforce-gtid-consistency

建議配置

read_only=on

保證從伺服器數據安全性

master_info_reposistory=TABLE

relay_log_info_reposistory=TABLE

從伺服器連接主伺服器的信息和中繼日誌存放咱 master_info,和relay_log中。

4.初始化從伺服器數據。

mysqldump --master-data=2 -single-transaction

xtarbackup –slave-info

記錄備份時最後的事務GTID值。

導出數據

mysqldump --single-transaction --master-data=2 --triggers -routines --all-databases -uroot -p -P3308 >all2.sql

導入數據

mysql -uroot -p -P3309 < all2.sql

5.啟動基於GTID的複製

change master to master-host=’主服務IP’,

master_user=’repl’,

master_password=’password’,

master_auto_position=1

change master to MASTER_HOST='192.168.1.106',
MASTER_PORT=3308,
MASTER_USER='repl',
MASTER_PASSWORD='repl',
master_auto_position=1;

 

start slave;

show slave status \G;

image

在啟動slave時報錯。

ERROR 1872 (HY000): Slave failed to initialize relay log info structure from the repository

解決辦法:

reset slave;重置slave

再啟動 slave

start slave;

測試同步:

1.在主庫創建一張表,插入記錄。

2.在從庫查詢驗證是否正確,經驗證配置正確。

 

 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • easy_install mysql-connector-python >>>import mysql.connector as conner >>> conn = conner.connect(user="root", passwd="kaimen", db="zentao", port=3306 ...
  • SHOW PROCESSLISTor show status where `variable_name` = 'Threads_connected'; ...
  • 目錄: Prerequisites 集群配置規劃 創建域控伺服器 polybase install firewall config 集群配置 刪除計算節點 install Prerequisites Microsoft .NET Framework 4.5 Oracle Java SE RunTim ...
  • 回到目錄 兩雄爭霸 使用StackExchange.Redis的原因是因為它開源,免費,而對於商業化的ServiceStack.Redis,它將一步步被前者取代,開源將是一種趨勢,商業化也值得被我們尊重,畢竟人家研究代碼也不容易,做商品也很正常,當然這不是我們今天的重點,今天主要說一下對StackE ...
  • SQL Server 使用的資源受到操作系統的調度,同時,SQL Server在內部實現了一套調度演算法,用於管理從操作系統獲取的資源,主要是對記憶體和CPU資源的調度。一個好的資料庫系統,必定在記憶體中緩存足夠多的信息,以減少從物理硬碟中讀取數據的次數;如果記憶體是系統瓶頸,那麼SQL Server一定會 ...
  • 成都聯通作為合併重組後的中國聯通在成都的分支機構,擁有基礎扎實的通信網路和當前最先進技術的WCDMA網路。隨著3G和4G業務的發展領先,成都聯通憑藉其出色的網路能力和服務,在用戶中贏得了口碑。 ...
  • 總結,int(M) zerofill,加上zerofill後M才表現出有點點效果,比如 int(3) zerofill,你插入到資料庫里的是10,則實際插入為010,也就是在前面補充加了一個0.如果int(3)和int(10)不加zerofill,則它們沒有什麼區別.M不是用來限制int個數的.in ...
  • 1、在安裝過程中,出現的 source /usr/local/greenplum-db/greenplum_path.sh 不要寫到profile或者./bashrc文件中 因為該句會導致python環境變數的改變,致使yum不能正常使用,出現no module named yum問題。 解決辦法: ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...