1. 程式人生 > >mysql.gtid_executed表的更新機制

mysql.gtid_executed表的更新機制

mysql.gtid_executed表的更新機制
環境
mysql.gtid_executed在主庫上更新機制
1. 主庫開啟binlog
2. 主庫關閉binlog
mysql.gtid_executed在備庫上更新機制
1. 備庫關閉log_slave_updates
1. 備庫開啟log_slave_updates
總結
參考資料

mysql.gtid_executed表的更新機制

環境

  • 主庫:mysql5.7.18,IP:192.168.1.21
  • 備庫:mysql5.7.18,IP:192.168.1.128

mysql.gtid_executed在主庫上更新機制

1. 主庫開啟binlog

  • 檢視binlog是否開啟
  
  1. mysql> show variables like '%log_bin%';
  2. +---------------------------------+------------------------------------+
  3. | Variable_name | Value
    |
  4. +---------------------------------+------------------------------------+
  5. | log_bin | ON |
  6. | log_bin_basename | /data/mysql/binlog/mysql-bin |
  7. | log_bin_index | /data/mysql/binlog/mysql-bin.index |
  8. |
    log_bin_trust_function_creators | OFF |
  9. | log_bin_use_v1_row_events | OFF |
  10. | sql_log_bin | ON |
  11. +---------------------------------+------------------------------------+
  12. 6 rows in set (0.01 sec)
  • 主庫上進行操作,產生事務,觀察mysql.gtid_executed表的變化情況
  
  1. mysql> select * from mysql.gtid_executed;
  2. +--------------------------------------+----------------+--------------+
  3. | source_uuid | interval_start | interval_end |
  4. +--------------------------------------+----------------+--------------+
  5. | 0a646c88-36e2-11e7-937d-fa163ed7a7b1 | 1 | 2 |
  6. +--------------------------------------+----------------+--------------+
  7. 1 row in set (0.00 sec)
  8. mysql> insert into xiyouji values (1,'shawujin');
  9. Query OK, 1 row affected (0.02 sec)
  10. mysql> select * from mysql.gtid_executed;
  11. +--------------------------------------+----------------+--------------+
  12. | source_uuid | interval_start | interval_end |
  13. +--------------------------------------+----------------+--------------+
  14. | 0a646c88-36e2-11e7-937d-fa163ed7a7b1 | 1 | 2 |
  15. +--------------------------------------+----------------+--------------+
  16. 1 row in set (0.00 sec)
  17. #mysql.gtid_executed表沒有發生變化
  • 重新整理日誌
  
  1. mysql> flush logs;
  2. Query OK, 0 rows affected (0.07 sec)
  3. mysql> select * from mysql.gtid_executed;
  4. +--------------------------------------+----------------+--------------+
  5. | source_uuid | interval_start | interval_end |
  6. +--------------------------------------+----------------+--------------+
  7. | 0a646c88-36e2-11e7-937d-fa163ed7a7b1 | 1 | 4 |
  8. +--------------------------------------+----------------+--------------+
  9. 1 row in set (0.00 sec)
  10. #發現主庫在開啟binlog的情況下,mysql.gtid_executed並不會實時更新,僅在二進位制binlog rotation時發生

2. 主庫關閉binlog

  • 檢視binlog是否關閉
  
  1. mysql> show variables like '%log_bin%';
  2. +---------------------------------+-------+
  3. | Variable_name | Value |
  4. +---------------------------------+-------+
  5. | log_bin | OFF |
  6. | log_bin_basename | |
  7. | log_bin_index | |
  8. | log_bin_trust_function_creators | OFF |
  9. | log_bin_use_v1_row_events | OFF |
  10. | sql_log_bin | ON |
  11. +---------------------------------+-------+
  12. 6 rows in set (0.01 sec)
  • 主庫上進行操作,產生事務,觀察mysql.gtid_executed表的變化情況
  
  1. mysql> select * from mysql.gtid_executed;
  2. +--------------------------------------+----------------+--------------+
  3. | source_uuid | interval_start | interval_end |
  4. +--------------------------------------+----------------+--------------+
  5. | 0a646c88-36e2-11e7-937d-fa163ed7a7b1 | 1 | 5 |
  6. +--------------------------------------+----------------+--------------+
  7. 1 row in set (0.00 sec)
  8. mysql> insert into wukong_test.xiyouji values (10,'aaaaa');
  9. Query OK, 1 row affected (0.01 sec)
  10. mysql> select * from mysql.gtid_executed;
  11. +--------------------------------------+----------------+--------------+
  12. | source_uuid | interval_start | interval_end |
  13. +--------------------------------------+----------------+--------------+
  14. | 0a646c88-36e2-11e7-937d-fa163ed7a7b1 | 1 | 5 |
  15. +--------------------------------------+----------------+--------------+
  16. 1 row in set (0.00 sec)
  17. #發現mysql.gtid_executed並不會記錄資訊
  • 重新整理日誌
  
  1. mysql> flush logs;
  2. 相關推薦

    mysql.gtid_executed更新機制

    mysql.gtid_executed表的更新機制 環境 mysql.gtid_executed在主庫上更新機制 1. 主庫開啟binlog 2. 主庫關閉binlog mysql.gtid_executed在備庫上更新機制

    mysql更新sql的優化策略

        問題sql背景:專案有6個表的要根據pid欄位要寫入對應的brand_id欄位。但是這個其中有兩個表是千萬級別的。我的worker執行之後,線上的mysql主從同步立刻延遲了!運行了一個多小時之

    MySql update inner join!MySql更新update sql語句?如何將select出來的部分資料update到另一個裡面?

    專案中,評論數,關注數等資料,是實時更新的。+1,-1 這種。 有的時候,可能統計不準確。 需要寫一個統計工具,更新校準下。 用Java寫SQL和函式,程式碼很清晰,方便擴充套件,但是太慢了。 為了簡單起見,只寫sql來統計,然後更新。(不想寫儲存過程) 語句如下: #更新一個人的 關注數 followi

    MySQL更新的一個坑

    tps tle gpo 語法 markdown 簡述 time doc ngs 簡述 MySQL支持update t1,t2 set t1.a=2;這種語法,別的關系數據庫例如oracle和sql server都不支持。這種語法有時候寫起來挺方便,但他有一個坑。 測

    Mysql更新update sql語句總結

    假定我們有兩張表,一張表為Product表存放產品資訊,其中有產品價格列Price;另外一張表是ProductPrice表,我們要將ProductPrice表中的價格欄位Price更新為Price表中價格欄位的80%。 在Mysql中我們有幾種手段可以做到這一點,一種是update table1 t1, ta

    mysql更新(用一個的資料更新另一個的資料)

    用一個表中的欄位去更新另外一個表中的欄位,來看一個簡單的例子就會了: create table student ( student_id int not null

    mysql處理多更新數據(1000萬級別)

    多表 upd sql 更新數據 更新 數據 mysql bsp where 1、 表A(id,code,name,sex)表B(id,Aid,code,name,sex)B表中字段Aid為A表中的id.用一條語句將A表中code更新到B表中code中。 UPDATE A

    mysql條件更新

    style 手機 cnblogs 更新 code span obi 去除 nbsp 有兩張表bas_student、bas_householder, 去除學生表中與家長表重復的手機號 UPDATE bas_student a,bas_householder b SE

    mysql用一個更新另一個

    document eat sid select 更新 dal mysq service req 寫法: UPDATE Document, ObservationRequestSET Document.CreateOrganizationName = ObservationR

    MySQL 行鎖 機制

    eat chan 提交 讀取數據 edi base 此外 執行計劃 從表 MySQL 表鎖和行鎖機制 行鎖變表鎖,是福還是坑?如果你不清楚MySQL加鎖的原理,你會被它整的很慘!不知坑在何方?沒事,我來給你們標記幾個坑。遇到了可別亂踩。通過本章內容,帶你學習MySQL的行鎖

    【20180608】MySQL5.7新增mysql.gtid_executed

    GTID gitd_executed MySQL5.7新增表mysql.gtid_executed MySQL5.6主從,從庫獲取gtid_executed 在MySQL5.6的時候,主從復制開啟了GTID,在slave執行show slave status \G的時候可以獲取得到當前執行的GTID的

    Mysql聯合更新、刪除

    UPDATE snyts_user u INNER JOIN snyts_order o ON u.user_id = o.user_id INNER JOIN snyts_refund_order r

    Mysql InnoDB 資料更新/刪除導致鎖

    一. 如下對賬表資料結構  create table t_cgw_ckjnl ( CNL_CODE varchar(10) default ' ' not null comment '通道編碼', CNL_PLT_CD varchar(32) default ' ' n

    MyBatis實戰之對映器 SSM框架之批量增加示例(同步請求jsp檢視解析) mybatis的批量更新例項 造成MySQL掃描的原因 SSM框架實戰之整合EhCache

    對映器是MyBatis最強大的工具,也是我們使用MyBatis時用得最多的工具,因此熟練掌握它十分必要。MyBatis是針對對映器構造的SQL構建的輕量級框架,並且通過配置生成對應的JavaBean返回給呼叫者,而這些配置主要便是對映器,在MyBatis中你可以根據情況定義動態SQL來滿足不同場景的需要,它比

    mysql根據b更新a的資料

    先將excel匯入mysql資料庫,參考: https://blog.csdn.net/qq_38666502/article/details/84026601 然後執行: UPDATE sean_t_baojia_new a, test2018 b SET a.SupplierI

    MySQL關聯更新及刪除

    一、      多表關聯更新 問題描述:現有tdb_goods表(含有具體資訊)和tdb_goods_cates表(沒有具體資訊),需要查詢tdb_goods表的所有記錄,並且按"類別"分組,且將分組結果寫入到tdb_goods_cates資料表。然後通過tdb_goods

    如何在mysql中按設定條件更新資料(update, id)

    如何在mysql的表中按設定條件更新資料(update, id) 語句為:update health set website='spring_rain_doctor' where id>1013; 其中: health為所在的表; website為需要更新的欄位; 'spring_

    [資料庫]MySql查詢常用技巧(不斷更新中)

    最近在給學校寫一個志願者管理系統,用到了一些資料庫的操作,由於在大二的時候沒有有強度的練習,所以寫一寫隨筆總結一些資料庫的程式設計查詢技巧。希望給大家提供一些幫助。 1.正則表示式 正則表示式完全可以使用正則表示式,支援字元匹配: 1.1:例如:查詢所有的2014級以及以上

    mysql關聯更新

    使用場景: 在進行兩個表join關聯查詢時,此時我想把p表中的user_name賦值給a表中的user_name,直接執行SQL如下: UPDATE mz_insurance.mz_insuran

    mysql聯合更新

            在實際工作中我們經常碰到一些業務要更新多張有關聯的表資料,如果單獨更新每張表,不僅降低效率而且容易出錯,所以在mysql 4.0.4 開始支援多個表的update操作。        假設有兩張表 table1 、table2 關聯關係為 table1.t2_