MySQL用GTID方式恢复数据
1、先登录MySQL系统查看当前的binlog日志
mysql> show master status;
mysql> show binlog events in 'mysql-bin.000004'
2、开始导出数据
[root@test ~]
3、开始恢复数据
mysql> set sql_log_bin=0;
mysql> source /tmp/restore.sql;
mysql> set sql_log_bin=1;
其他知识点一
mysqlbinlog --skip-gtids --include-gtids='xxxx-xxx-xxx-xxx--xxx:1-3' --exclude-gtids='b09afa63-11d5-11eb-89c4-000c29f7a046:6','b09afa63-11d5-11eb-89c4-000c29f7a047:7' /databases/mysql-3306/binlog/mysql-bin.000004 >/tmp/restore.sql
其他知识点二
1、gtid组成(server_uudi:tid,server__uuid?)
2、tid是一个自动增长的数据,从1开始(每个binlog会自动从1开始)
3、gtid幂等性:如果有gtid的日志恢复时,检查当前系统中是否有相同的gtid号,如果有相同则自动跳过,会影响主从复制
开启gtid
vim /opt/app/mysql-3306/etc/my.cnf
gtid-mode = on
enforce-gtid-consistency = true