DMDRS 数据同步链路部署报告
1.1 背景
为验证达梦数据复制软件(DMDRS)在不同数据库之间的数据同步能力,本次部署搭建了MySQL 8.0 → DM8 单机的数据同步链路。通过 DMDRS 管理平台(DMDFM)进行图形化配置,实现源端数据的全量装载和增量同步。
1.2 部署目标
在 MySQL 源端完成 DMDRS 管理平台和代理的安装配置
在 DM8 目标端完成 DMDRS 代理的安装配置
创建 MySQL → DM8 同步链路,验证全量装载和增量同步功能
验证 DMDRS 高可用性及断点续传能力
2.1 硬件环境
项目 配置
服务器数量 2 台(虚拟机)
CPU 4 核
内存 8 GB
磁盘 系统盘 50G + 数据盘
网络 千兆以太网
2.2 节点信息
角色 主机名 IP地址 说明
MySQL 源端 + DMDRS 管理平台 dm137 192.168.21.137 MySQL 8.0 LTS + DMDRS 管理平台 + 代理
DM8 目标端 dm138 192.168.21.138 DM8 单机 + DMDRS 代理
2.3 软件版本
软件 版本 说明
操作系统 银河麒麟 V10 内核 4.19
MySQL 8.0.46 源数据库,开启 binlog
DM8 V8(开发版) 目标数据库,单机模式
DMDRS V5.2.5.4(Build 218265) 达梦数据复制软件
2.4 链路规划
源端数据库 源端IP CPT服务名 站点号 目的端数据库 目的端IP EXEC服务名 站点号 mgr端口
MySQL 8.0 192.168.21.137 instance1 1 DM8 单机 192.168.21.138 instance2 2 5345
2.5 网络策略
源端 目的端 端口 方向 说明
192.168.21.137 192.168.21.138 5345 单向 CPT 到 EXEC 的 mgr 端口通信
192.168.21.137 - 3306 - MySQL 数据库端口
192.168.21.138 - 5236 - DM8 数据库端口
192.168.21.137 - 8080 - DMDFM 管理平台端口
3.1 源端数据库准备(MySQL)
执行机器:192.168.21.137
执行用户:root
3.1.1 确认 binlog 已开启
SHOW VARIABLES LIKE ‘log_bin’;
SHOW VARIABLES LIKE ‘binlog_format’;
确认log_bin=ON,binlog_format=ROW。
3.1.2 创建同步用户
CREATE USER ‘DMDRS’@’%’ IDENTIFIED BY ‘Dameng123’;
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON . TO ‘DMDRS’@’%’;
FLUSH PRIVILEGES;
3.1.3 创建测试数据库和表
CREATE DATABASE test_db;
USE test_db;
CREATE TABLE empl1 (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT,
salary DECIMAL(10,2)
);
INSERT INTO empl1 VALUES (1,‘张三’,30,5000.00);
INSERT INTO empl1 VALUES (2,‘李四’,28,6000.00);
INSERT INTO empl1 VALUES (3,‘王五’,35,7000.00);
COMMIT;
3.2 目标端数据库准备(DM8)
执行机器:192.168.21.138
执行用户:dmdba
3.2.1 确认 DM8 服务正常运行
cd /home/dmdba/dmdbms/bin
nohup ./dmserver /home/dmdba/dmdbms/data/DAMENG/dm.ini >> /home/dmdba/dmdbms/log/dm.log 2>&1 &
3.2.2 创建同步用户
./disql SYSDBA/Dameng123@localhost:5236
CREATE USER test_db IDENTIFIED BY Dameng123;
GRANT DBA TO test_db;
EXIT;
说明:达梦数据库中,用户与模式同名。创建用户test_db会自动生成同名模式。
3.3 DMDRS 安装包准备
将 DMDRS 安装包dmdrs_rev218265_x86_rh6_64_20260409.bin上传至两台服务器的/opt目录,并赋予执行权限:
chmod +x /opt/dmdrs_rev218265_x86_rh6_64_20260409.bin
4.1 在 137 上安装管理平台 + 代理
执行机器:192.168.21.137
执行用户:先 root 后 dmdba
4.1.1 创建安装目录(root)
mkdir -p /data/dmdrs5
chown -R dmdba:dinstall /data/dmdrs5
chmod -R 755 /data/dmdrs5
4.1.2 执行安装(dmdba)
su - dmdba
cd /opt
export DMDRS_INSTALL_TMPDIR=/data/dmdrs5/tmp
mkdir -p /data/dmdrs5/tmp
./dmdrs_rev218265_x86_rh6_64_20260409.bin -i
安装交互选项:
提示 输入
选择语言 c(中文)
安装目录 /data/dmdrs5
安装组件 1和2(管理平台 + 代理)
许可证文件 1(免费试用)
数据库驱动路径 /home/dmdba/dmdbms/bin
管理平台 IP 192.168.21.137
管理平台端口 8080
代理 IP 192.168.21.137
代理端口 19345
注册系统服务 1(注册)
4.1.3 注册系统服务(root)
/data/dmdrs5/scripts/root/root_installer.sh
4.2 在 138 上安装代理
执行机器:192.168.21.138
执行用户:先 root 后 dmdba
4.2.1 创建安装目录(root)
mkdir -p /data/dmdrs5
chown -R dmdba:dinstall /data/dmdrs5
chmod -R 755 /data/dmdrs5
4.2.2 执行安装(dmdba)
su - dmdba
cd /opt
export DMDRS_INSTALL_TMPDIR=/data/dmdrs5/tmp
mkdir -p /data/dmdrs5/tmp
./dmdrs_rev218265_x86_rh6_64_20260409.bin -i
安装交互选项:
提示 输入
选择语言 c(中文)
安装目录 /data/dmdrs5
安装组件 2(仅代理)
许可证文件 1(免费试用)
数据库驱动路径 /home/dmdba/dmdbms/bin
管理平台 IP 192.168.21.137
管理平台端口 8080
代理 IP 192.168.21.138
代理端口 19346
注册系统服务 1(注册)
4.2.3 注册系统服务(root)
/data/dmdrs5/scripts/root/root_installer.sh
4.3 配置 MySQL 库路径(解决驱动依赖问题)
执行机器:192.168.21.137
执行用户:root
echo “/usr/local/mysql/lib” > /etc/ld.so.conf.d/mysql.confldconfig
5.1 配置 agent.xml
137 机器(用户:dmdba):
mkdir -p /data/dmdrs5/conf
cat > /data/dmdrs5/conf/agent.xml << ‘EOF’
<?xml version=“1.0” encoding=“GB18030”?>
<drs>
<base>
<mgr_port>19345</mgr_port>
<siteid>1</siteid>
</base>
<agent>
<dfm_ip>192.168.21.137</dfm_ip>
<dfm_port>8080</dfm_port>
<target_name>agent_137</target_name>
</agent>
</drs>
EOF
138 机器(用户:dmdba):
mkdir -p /data/dmdrs5/conf
cat > /data/dmdrs5/conf/agent.xml << ‘EOF’
<?xml version=“1.0” encoding=“GB18030”?>
<drs>
<base>
<mgr_port>19346</mgr_port>
<siteid>2</siteid>
</base>
<agent>
<dfm_ip>192.168.21.137</dfm_ip>
<dfm_port>8080</dfm_port>
<target_name>agent_138</target_name>
</agent>
</drs>
EOF
5.2 启动代理服务
137 机器(root):
systemctl start DmServiceDFDB
systemctl start DfmWebService
systemctl start DfmAgentService
138 机器(root):
systemctl start DfmAgentService
5.3 确认代理在线
登录管理平台http://192.168.21.137:8080/dmdfm,进入运维 → 代理管理,确认两个代理在线:
代理名称 IP 端口 状态
agent_137 192.168.21.137 19345 运行中
agent_138 192.168.21.138 19346 运行中
六、配置数据源
6.1 添加 MySQL 数据源
字段 填写值
数据源名称 MySQL_Source
数据库厂商 MySQL
数据库版本 MySQL 5.7及以上
平台连接IP 192.168.21.137
端口号 3306
用户名 DMDRS
密码 Dameng123
数据库 test_db
6.2 添加 DM8 数据源
字段 填写值
数据源名称 DM8_Target
数据库厂商 DM
数据库版本 DM8
平台连接IP 192.168.21.138
端口号 5236
用户名 test_db
密码 Dameng123
服务名 DAMENG
7.1 链路基本配置
配置项 源端 目标端
数据源 MySQL_Source DM8_Target
代理 agent_137 agent_138
服务名称 instance1 instance2
服务地址 192.168.21.137 192.168.21.138
站点号 1 2
端口号 5345 5345
DMDRS_HOME /data/dmdrs5 /data/dmdrs5
是否开启主备 否 否
7.2 表映射配置
源模式 源表 目标模式 目标表
test_db (所有表) test_db (同名)
映射规则:test_db. == test_db.
重要说明:DMDRS 在进行表映射时,模式名和表名区分大小写。达梦数据库中标识符默认存储为大写,若源端为小写模式名(如test_db),需在映射中保持小写,DMDRS 会自动添加双引号处理。
8.1 启动链路
1.在链路列表中,先点击目标端DM8_Target的启动,等待状态变蓝。
2.再点击源端MySQL_Source的启动,等待状态变蓝。
8.2 执行装载
1.点击链路上的装载按钮。
2.选择全量装载 + 增量同步。
3.在装载表选择中,添加test_db.*。
4.点击预检查,全部通过后点击立即装载。
8.3 装载结果
检查项 结果 说明
源端连接测试 ✅ 通过 MySQL 连接正常
源端 binlog 检查 ✅ 通过 binlog 已开启,格式为 ROW
源端用户权限 ✅ 通过 DMDRS 用户权限充足
目标端连接测试 ✅ 通过 DM8 连接正常
目标端 DDL 检测 ✅ 通过 目标端支持 DDL 操作
目标端用户权限 ✅ 通过 test_db 用户拥有 DBA 权限
9.1 数据验证
在 MySQL 中插入测试数据(137):
INSERT INTO test_db.empl1 VALUES (10, ‘同步测试’, 30, 9999.00);COMMIT;
在 DM8 中查询(138):
SELECT * FROM test_db.empl1 WHERE id = 10;
结果:目标端成功查询到新插入的数据,同步正常 ✅
9.2 同步状态检查
在管理平台中查看链路状态:
监控项 状态
链路状态 运行中(蓝色)
同步延迟 < 1 秒
同步数据量 4 条记录(3 条初始 + 1 条增量)
本次部署成功完成了以下工作:
1.✅ 完成 DMDRS 管理平台和代理的安装配置
2.✅ 完成 MySQL 源端和 DM8 目标端的数据库准备
3.✅ 创建 MySQL → DM8 单向同步链路
4.✅ 完成全量装载,验证数据迁移功能
5.✅ 启动增量同步,验证实时数据同步能力
6.✅ 验证代理在线、链路状态监控等管理功能
文章
阅读量
获赞
