DM8:主备集群--恢复备库数据不同步的问题

环境介绍

集群主机备份–》备机还原

1 主机联机备份

1.1 在管理工具左侧目录:备份 右键全库备份

1.2 执行SQL:(默认备份路径为dm.ini同级目录bak文件夹)

backup database full to "DB_DAMENG" backupset 'DB_DAMENG' compressed;

2 备份成功后,通过监视器将备库分离出集群

detach database group_name.db_name
  • 此命令允许将全局守护类型的备库分离出守护进程组,执行此命令需要先登录监视器。使用此命令不会触发主库的 Failover 故障处理流程。该操作不会修改相关的配置信息,只是为了需要主动退出维护备库时使用。
    该命令包括下面两个操作步骤
     通知主库设置到指定备库的恢复间隔内存值为 86400(s)。
     通知主库修改到指定备库的归档状态无效。

2.1 将备库实例服务关闭

stop database group_name.db_name

2.2 将备机归档文件夹重命名,并重新创建一个新的原名文件夹(注意权限)

2.3 将备机守护进程服务关闭

3 对备库进行还原

在数据库bin目录执行:

3.1 数据库还原:

$ ./dmrman CTLSTMT="RESTORE  DATABASE  '/.../.../dm.ini文件绝对路径'  FROM BACKUPSET  '/.../.../.../备份文件夹名'"  #(全量或增量备份文件夹绝对路径)

3.2 数据库恢复:

 ./dmrman CTLSTMT=“RECOVER DATABASE ‘/.../.../dm.ini文件绝对路径’ FROM BACKUPSET ‘/.../.../备份文件夹名’” #(全量或增量备份文件夹绝对路径)

3.3 更新数据库魔数:

$ ./dmrman CTLSTMT="RECOVER DATABASE '/.../.../dm.ini文件绝对路径' UPDATE DB_MAGIC"

4 mount方式 启动备库

 ./dmserver /.../.../dm.ini mount #dm.ini绝对路径 

或脚本服务注册为 mount 启动方式,启动脚本服务

4.1manager 连接备库 或 disql连接备库,修改为备库模式

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
alter database standby;
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
COMMIT;

5 将分离出去的备库加入集群

  • 启动备库守护服务
  • 此命令和 detach database [group_name.]db_name 相对应,待 detach 分离出去的备库维护完成后,可通过此命令将其重加入守护进程组,执行此命令需要先登录监视器。
  • 通过监视器将分离出去的备库加入集群
attach database group_name.db_name
  • 观察备库FLSN有更新,说明备库数据自动同步正常
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,需要安装Docker和Docker Compose。然后按照以下步骤操作: 1. 创建两个文件夹,分别为dm-master和dm-worker,用于存放主节点和从节点的配置文件。 2. 在dm-master文件夹中创建docker-compose.yml文件,并添加以下内容: ``` version: '3' services: dm-master: image: pingcap/dm:latest container_name: dm-master volumes: - ./dm-master:/etc/dm-master ports: - "8261:8261" - "8291:8291" command: dm-master -config /etc/dm-master/dm-master.toml ``` 3. 在dm-master文件夹中创建dm-master.toml配置文件,并添加以下内容: ``` [log.file] filename = "/var/log/dm-master.log" [log.level] value = "info" [server] addr = ":8261" advertise-addr = "master_ip:8261" data-dir = "/data/dm-master" name = "dm-master" [dumpling-worker] worker-addr = "worker_ip:8262" password = "password" [security] ssl-ca = "/etc/dm-master/ca.pem" ssl-cert = "/etc/dm-master/server-cert.pem" ssl-key = "/etc/dm-master/server-key.pem" ``` 注意将master_ip和worker_ip替换为实际的IP地址,并设置密码。 4. 在dm-worker文件夹中创建docker-compose.yml文件,并添加以下内容: ``` version: '3' services: dm-worker: image: pingcap/dm:latest container_name: dm-worker volumes: - ./dm-worker:/etc/dm-worker ports: - "8262:8262" command: dm-worker -config /etc/dm-worker/dm-worker.toml ``` 5. 在dm-worker文件夹中创建dm-worker.toml配置文件,并添加以下内容: ``` [log.file] filename = "/var/log/dm-worker.log" [log.level] value = "info" [server] addr = ":8262" advertise-addr = "worker_ip:8262" data-dir = "/data/dm-worker" name = "dm-worker" [worker] addr = ":8262" password = "password" [security] ssl-ca = "/etc/dm-worker/ca.pem" ssl-cert = "/etc/dm-worker/server-cert.pem" ssl-key = "/etc/dm-worker/server-key.pem" ``` 注意将worker_ip替换为实际的IP地址,并设置密码。 6. 在dm-master文件夹中创建ca.pem、server-cert.pem和server-key.pem证书文件,并将它们复制到dm-worker文件夹中。 7. 最后,在终端中进入dm-master文件夹,并执行以下命令启动主节点: ``` docker-compose up -d ``` 8. 在终端中进入dm-worker文件夹,并执行以下命令启动从节点: ``` docker-compose up -d ``` 现在,您已经成功地使用Docker搭建了DM主备集群

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值