备份恢复方法

GTID模式下的binlog管理

配置

server_uuid介绍:

mysql> select @@server_uuid;

+--------------------------------------+

| @@server_uuid                        |

+--------------------------------------+

| 09a8c1af-6e45-11ea-a381-000c29248f69 |

+--------------------------------------+

在第一次初始化,启动数据库时,自动生成的。存在/data/3306/data/auto.cnf文件中。

一旦被删除,被修改,下次重启重置。

ID值的介绍:

DDL ,DML :一个事件记录一个ID

DML      :一个完整的事务,记录一个ID

开启方式

参数:

select @@gtid_mode;

select @@enforce_gtid_consistency;

基于GTID的binlog管理

# 查看GTID的信息

mysql> show master status ;

# 查看GTID的事件信息

mysql> show binlog events in 'mysql-bin.000007';

mysql-bin.000007 | 154 |        219 | SET @@SESSION.GTID_NEXT= '09a8c1af-6e45-11ea-a381-000c29248f69:1'

mysql-bin.000007 | 219 |        335 | create database binlog charset

# 基于GTID方式截取恢复数据

mysqlbinlog --skip-gtids --include-gtids='09a8c1af-6e45-11ea-a381-000c29248f69:1-3' /data/3306/binlog/mysql-bin.000007 >/tmp/gtid1.sql

注意: 开启了GTID模式的数据库,会自动检测GTID幂等性。会自动跳过已有的GTID的操作。

需要添加 --skip-gtids ,在截取日志时,抹掉已有的GTID信息

# 截取时排除某些GTID方法

mysqlbinlog --skip-gtids --include-gtids='09a8c1af-6e45-11ea-a381-000c29248f69:1-10' --exclude-gtids='09a8c1af-6e45-11ea-a381-000c29248f69:4','09a8c1af-6e45-11ea-a381-000c29248f69:7' /data/3306/binlog/mysql-bin.000007 >/tmp/gtid2.sql

# 多文件截取

mysqlbinlog --include-gtids='09a8c1af-6e45-11ea-a381-000c29248f69:1-100'  /data/3306/binlog/mysql-bin.000003  /data/3306/binlog/mysql-bin.000004  /data/3306/binlog/mysql-bin.000005>/tmp/gtid.sql

# -d 过滤库的binlog

你可能感兴趣的:(备份恢复方法)