DM数据库搭建实时主备

ip端口规划在这里插入图片描述

数据库安装路径: /home/dmdba执行程序路径:/home/dmdba/dmdbms/bin数据存放路径:/home/dmdba/dmdbms/data

初始化主备库,可以在初始化的时候指定实例名INSTANCE_NAME,也可以初始化后在dm.ini文件里面修改参数INSTANCE_NAME

在这里插入图片描述
在这里插入图片描述
前台启停一次数据库,否则在备份时会报错
./dmserver …/data/DAMENG/dm.ini

使用dmrman工具备份主库
./dmrman ctlstmt=“backup database ‘/home/dmdba/dmdbms/data/DAMENG/dm.ini’ full to backup_file_01 backupset ‘/home/dmdba/backup_file_01’”

远程拷贝到备库
scp -r /home/dmdba/backup_file_01/ 172.16.20.102:/home/dmdba/
在这里插入图片描述

在备库停机状态下执行restore和recover

./dmrman ctlstmt=“restore database ‘/home/dmdba/dmdbms/data/DAMENG/dm.ini’ from backupset ‘/home/dmdba/backup_file_01’”
在这里插入图片描述

./dmrman ctlstmt=“recover database ‘/home/dmdba/dmdbms/data/DAMENG/dm.ini’ from backupset ‘/home/dmdba/backup_file_01’”

在这里插入图片描述

./dmrman ctlstmt=“recover database ‘/home/dmdba/dmdbms/data/DAMENG/dm.ini’ update db_magic”

在这里插入图片描述

配置主库的dm.ini
INSTANCE_NAME = GRP1_RT_01
PORT_NUM = 5236 #数据库实例监听端口DW_INACTIVE_INTERVAL = 60 #接收守护进程消息超时时间ENABLE_OFFLINE_TS = 2 #不允许备库 OFFLINE 表空间MAL_INI = 1 #打开 MAL 系统
ARCH_INI = 1 #打开归档配置
RLOG_SEND_APPLY_MON = 64 #统计最近 64 次的日志发送信息

配置主库dmmal文件,主备库的dmmal文件参数必须一样 MAL_CHECK_INTERVAL = 5
MAL_CONN_FAIL_INTERVAL = 5
[MAL_INST1]
MAL_INST_NAME = GRP1_RT_01
MAL_HOST = 172.16.20.101
MAL_PORT = 5240
MAL_INST_HOST = 172.16.20.101
MAL_INST_PORT = 5236
MAL_DW_PORT = 5242
MAL_INST_DW_PORT = 5238
[MAL_INST2]
MAL_INST_NAME = GRP1_RT_02
MAL_HOST = 172.16.20.102
MAL_PORT = 5241
MAL_INST_HOST = 172.16.20.102
MAL_INST_PORT = 5237
MAL_DW_PORT = 5243
MAL_INST_DW_PORT = 5239

配置dmarch.ini
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = GRP1_RT_02
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /home/dmdba/dmdbms/data/DAMENG/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0

修改 dmwatcher.ini 配置守护进程,配置为全局守护类型,使用自动切换模式
[GRP1]
DW_TYPE = GLOBAL #全局守护类型
DW_MODE = AUTO #自动切换模式DW_ERROR_TIME = 10 #远程守护进程故障认定时间INST_RECOVER_TIME = 60 #主库守护进程启动恢复时间间隔
INST_ERROR_TIME = 10 #本地实例故障认定时间INST_OGUID = 123 #守护系统唯一OGUID值
INST_INI = /home/dmdba/dmdbms/data/DAMENG/dm.ini
INST_AUTO_RESTART = 1 #打开实例的自动启动功能INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver
RLOG_SEND_THRESHOLD = 0
RLOG_APPLY_THRESHOLD = 0

将主库启动到mount状态,注意不能open
./dmserver …/data/DAMENG/dm.ini mount

DISQL连接数据库,修改数据库OGUID和模式[dmdba@localhost bin]$ ./disql SYSDBA/SYSDBA:5236
SQL> sp_set_oguid(123);
SQL> alter database primary;
SQL> sp_set_para_value(1,‘ALTER_MODE_STATUS’,0);

配置备库

配置备库dm.ini
INSTANCE_NAME = GRP1_RT_02
PORT_NUM = 5237 #数据库实例监听端口DW_INACTIVE_INTERVAL = 60 #接收守护进程消息超时时间
ENABLE_OFFLINE_TS = 2 #不允许备库 OFFLINE 表空间MAL_INI = 1 #打开 MAL 系统
ARCH_INI = 1 #打开归档配置
RLOG_SEND_APPLY_MON = 64 #统计最近 64 次的日志重演信息

配置dmarch.ini
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = GRP1_RT_01
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /home/dmdba/dmdbms/data/DAMENG/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0

修改 dmwatcher.ini 配置守护进程,配置为全局守护类型,使用自动切换模式
[GRP1]
DW_TYPE = GLOBAL #全局守护类型
DW_MODE = AUTO #自动切换模式DW_ERROR_TIME = 10 #远程守护进程故障认定时间INST_RECOVER_TIME = 60 #主库守护进程启动恢复时间间隔
INST_ERROR_TIME = 10 #本地实例故障认定时间INST_OGUID = 123 #守护系统唯一OGUID值
INST_INI = /home/dmdba/dmdbms/data/DAMENG/dm.ini
INST_AUTO_RESTART = 1 #打开实例的自动启动功能INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver
RLOG_SEND_THRESHOLD = 0
RLOG_APPLY_THRESHOLD = 0

mount启动备库

./dmserver …/data/DAMENG/dm.ini mount

DISQL连接数据库修改OGUID和模式
[dmdba@localhost bin]$ ./disql SYSDBA/SYSDBA:5237
SQL> sp_set_oguid(123);DMSQL
SQL> alter database standby;
SQL> sp_set_para_value(1,‘ALTER_MODE_STATUS’,0);

配置监视器参数文件dmmonitor.ini
MON_DW_CONFIRM = 1 #确认监视器模式MON_LOG_PATH = /home/dmdba/dmdbms/data/DAMENG/log #监视器日志文件路径
MON_LOG_INTERVAL = 60 #每隔60秒定时记录系统信息到日志文件
MON_LOG_FILE_SIZE = 32
MON_LOG_SPACE_LIMIT = 0
[GRP1]
MON_INST_OGUID = 123
MON_DW_IP = 172.16.20.101:5242
MON_DW_IP = 172.16.20.102:5243

启动主备库守护进程
./dmwatcher …/data/DAMENG/dmwatcher.ini

在这里插入图片描述

启动监视器进程
./dmmonitor …/data/DAMENG/dmmonitor.ini

在这里插入图片描述
更多资讯请上达梦技术社区了解: https://eco.dameng.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用 Docker 搭建 DM8 实时主备,可以按照以下步骤进行: 1. 安装 Docker 和 Docker Compose 首先需要安装 Docker 和 Docker Compose,可以参考 Docker 官方文档进行安装。 2. 下载 DM8 镜像文件 可以从 DM 官网下载 DM8 镜像文件,也可以使用以下命令从 Docker Hub 上下载: ``` docker pull pingcap/dm:latest ``` 3. 创建 DM8 配置文件 在本地创建一个名为 `dm-master.yaml` 的文件,用于配置 DM8 的主节点。以下是一个示例配置文件: ```yaml master-addr: 172.20.0.2:8261 name: master1 data-dir: /home/data/master1 log-file: /home/logs/master1.log log-level: "info" discovery-mode: "static" static-nodes: - 172.20.0.2:8291 - 172.20.0.3:8291 - 172.20.0.4:8291 web-port: 8281 ``` 其中,`master-addr` 表示当前节点的地址和端口号,`name` 是节点的名称,`data-dir` 是数据存储的目录,`log-file` 是日志文件的路径,`log-level` 是日志级别。 `discovery-mode` 表示节点发现的模式,这里使用静态模式,`static-nodes` 是静态模式下所有节点的地址和端口号。 `web-port` 是 DM8 的 Web 界面端口号。 在本地创建一个名为 `dm-worker.yaml` 的文件,用于配置 DM8 的工作节点。以下是一个示例配置文件: ```yaml name: worker1 data-dir: /home/data/worker1 log-file: /home/logs/worker1.log log-level: "info" server-id: 101 relay-dir: /home/relay_log meta: case-sensitive: true worker-addr: 172.20.0.2:8262 master-addr: 172.20.0.2:8261 relay-binlog-name: mysql-binlog relay-binlog-gtid: "" source-id: "mysql-replica-01" from: host: "172.20.0.5" user: "root" password: "password" routes: route-rule-1: schema-pattern: "test" target-schema: "test" target-instance: "mysql-replica-02" enable-sharding: false ``` 其中,`name` 是节点的名称,`data-dir` 是数据存储的目录,`log-file` 是日志文件的路径,`log-level` 是日志级别。 `server-id` 是工作节点的 ID,`relay-dir` 是中继日志的存储路径。 `worker-addr` 是当前节点的地址和端口号,`master-addr` 是主节点的地址和端口号。 `relay-binlog-name` 是指定中继日志的文件名,`relay-binlog-gtid` 是中继日志的 GTID。 `source-id` 是源实例的 ID,`from` 是源实例的连接信息。 `routes` 是数据路由的配置,这里只配置了一个路由规则,将 `test` 库的数据路由到名为 `mysql-replica-02` 的实例中。 4. 创建 Docker Compose 配置文件 在本地创建一个名为 `docker-compose.yaml` 的文件,用于启动 DM8 的主节点和工作节点。以下是一个示例配置文件: ```yaml version: "3.7" services: dm-master: image: pingcap/dm:latest container_name: dm-master volumes: - ./dm-master.yaml:/etc/dm-master/dm-master.yaml ports: - "8261:8261" - "8281:8281" dm-worker: image: pingcap/dm:latest container_name: dm-worker volumes: - ./dm-worker.yaml:/etc/dm-worker/dm-worker.yaml depends_on: - dm-master ports: - "8262:8262" ``` 其中,`dm-master` 是 DM8 主节点的容器,`dm-worker` 是 DM8 工作节点的容器。`volumes` 挂载了之前创建的两个 YAML 配置文件,`ports` 映射了节点的端口号。 5. 启动 Docker Compose 在命令行中执行以下命令,启动 Docker Compose: ``` docker-compose up -d ``` 6. 验证 DM8 实时主备 使用浏览器访问 `http://localhost:8281`,可以查看 DM8 的 Web 界面。在界面上可以查看主备节点的状态,以及数据同步的情况。可以在主节点上进行写入操作,验证数据同步是否正常。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值