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