mysql 5.7 重建slave_MySQL5.7(5.6)GTID环境下恢复从库思路方法(转发)

要讨论如何恢复从库,我们得先来了解如下一些概念:

GTID_EXECUTED:它是一组包含已经记录在二进制日志文件中的事务集合

GTID_PURGED:它是一组包含已经从二进制日志删除掉的事务集合。

在继续讨论时,我们先来看下如何新建一个基于GTID的slave。

通过了解上面的两个参数,我们现在只需要:

1.从主库上做一个备份时记录备份时gtid_executed的值。

2.在新的slave上恢复此备份时设置从库的gtid_purged的值为备份时master上gtid_executed的值。

通过mysqldump可以完成我们需要的功能。

目前主库上的状态(3301):

48304ba5e6f9fe08f3fa1abda7d326ab.png

[zejin] 3301>show global variables like 'gtid_executed';

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

| Variable_name | Value |

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

| gtid_executed | a97983fc-5a29-11e6-9d28-000c29d4dc3f:1-15 |

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

1 row in set (0.00 sec)

[zejin] 3301>show global variables like 'gtid_purged';

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

| Variable_name | Value |

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

| gtid_purged | a97983fc-5a29-11e6-9d28-000c29d4dc3f:1-13 |

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

1 row in set (0.00 sec)

48304ba5e6f9fe08f3fa1abda7d326ab.png

step1:用mysqldump做一个全备

mysqldump --all-databases --single-transaction --triggers --routines --events --host=127.0.0.1 --port=3301 --user=root --password=123 > dump3301.sql

打开dump3301.sql我们可以看到如下语句:

SET @@GLOBAL.GTID_PURGED='a97983fc-5a29-11e6-9d28-000c29d4dc3f:1-15';

此值即为master3301上gtid_executed的值。

step2:全新启动一个新的库3303,注意在配置文件中配置enforce_gtid_consistency及gtid_mode=on

48304ba5e6f9fe08f3fa1abda7d326ab.png

mysqld_safe --defaults-file=/home/mysql/my3303.cnf &

此时新库3303上的状态应该是这样的:

[(none)] 3303>show global variables like 'gtid_executed';

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

| Variable_name | Value |

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

| gtid_executed | |

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

1 row in set (0.01 sec)

[(none)] 3303>show global variables like 'gtid_purged';

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

| Variable_name | Value |

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

| gtid_purged | |

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

1 row in set (0.00 sec)

48304ba5e6f9fe08f3fa1abda7d326ab.png

step3:导入备份文件并查看状态值:

48304ba5e6f9fe08f3fa1abda7d326ab.png

mysql -uroot -h127.0.0.1 -p123 -P3303 < dump3301.sql

[(none)] 3303>show global variables like 'gtid_executed';

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

| Variable_name | Value |

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

| gtid_executed | a97983fc-5a29-11e6-9d28-000c29d4dc3f:1-15 |

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

1 row in set (0.02 sec)

[(none)] 3303>show global variables like 'gtid_purged';

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

| Variable_name | Value |

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

| gtid_purged | a97983fc-5a29-11e6-9d28-000c29d4dc3f:1-15 |

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

1 row in set (0.00 sec)

48304ba5e6f9fe08f3fa1abda7d326ab.png

step4:做主从change语句

48304ba5e6f9fe08f3fa1abda7d326ab.png

[zejin] 3303>c

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值