gtid运维
show slave status 中的Executed_Gtid_Set.
show master status 中的Executed_Gtid_Set
构建一个空事务如下
stop slave;
set gtid_next='XXXXXXX';
begin;
commint;
set gtid_next='automatic';
start slave;
构建多个空事务
stop slave;
set gtid_next='XXXXXXX';
begin;
commint;
set gtid_next='XXXXXXX';
begin;
commint;
set gtid_next='automatic';
start slave;
mysqldump导出行为的改变
mysqldump导出数据的时候受set-gtid-purged=Auto的影响。
mysqldump --single-transaction --master-data=2 -R -E --all-databases
SET @MYSQLDUMP_TEMP_LOG_BIN =@@SESSION.SQL_LOG_BIN
SET @@SESSION.SQL_LOG_BIN=0;
--
-- GTID state at the beginning of the backup
-- SET @@GLOBAL.GTID_PURGED='xxxxxxxxxx';
如果使用这个备份做主从,不需要生成新的GTID和binary log Event。所以SQL_LOG_BIN必须设置为0
搭建GTID AUTO_POSITION MODE模式的主从
##主从执行
enforce_gtid_consistency=on
gtid_mode=on
server_id=3306
binlog_format=row
##主执行
create user 'repl'@'%' identified by '123456';
grant replcation slave on *.* to 'repl'@'%';
mysqldump --single-transaction --master-data=2 --all-databases>test.sql
## 从执行
reset master;
reset slave;
set sql_log_bin=0;
source test.sql;
head -n 40 test.sql
set @@GLOBAL.GTID_PURGED='xxxx'
change master to master_host='',master_user='repl',master_password='',master_port=2206,master_auto_position=1;
start slave;
gtid_mode参数的含义
gtid_mode各个值得含义
OFF:生成得都是匿名事务,从库也只能应用匿名事务
OFF_PERMISSIVE:生成匿名事务,从库可以应用匿名事务和gtid事务
ON_PERMISSIVE:生成GTID事务,从库可以应用匿名事务和gtid事务
ON:生成GTID事务,从库也只能应用GTID事务
online开始gtid
## master/slave
SET @@GLOBAL.ENFORCE_GTID_CONSISTENCY=WARN;
SET @@GLOBAL.ENFORCE_GTID_CONSISTENCY=ON;
SET @@GLOBAL.GTID_MODE=OFF_PERMISSIVE;
SET @@GLOBAL.GTID_MODE=ON_PERMISSIVE;
##确认没有匿名事务
SHOW GLOBAL STATUS LIKE '%Ongoing_anonymous_transaction_count%';
SET @@GLOBAL.GTID_MODE=ON;
STOP SLAVE;
CHANGE MASTER TO MASTER_AUTO_POSITION=1;
START SLAVE;
开启gtid得影响(设置master_auto_position=1)
删除原来所有得relay log,重新接受需要得event
螃蟹在剥我的壳,笔记本在写我,漫天的我落在枫叶上雪花上,而你在想我。
--章怀柔