前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >达梦数据库同步部署方案「建议收藏」

达梦数据库同步部署方案「建议收藏」

作者头像
全栈程序员站长
发布2022-11-04 16:17:58
2.2K0
发布2022-11-04 16:17:58
举报
文章被收录于专栏:全栈程序员必看

达梦数据库同步部署方案

一、部署方案简述

​ 达梦数据复制(DATA REPLICATION)是一个分担系统访问压力、加快异地访问响应速度、提高数据可靠性的解决方案。将一个服务器实例上的数据变更复制到另外的服务器实例。可以用于解决大、中型应用中出现的因来自不同地域、不同部门、不同类型的数据访问请求导致数据库服务器超负荷运行、网络阻塞、远程用户的数据响应迟缓的问题。

​ 服务部署采用分级部署,各地采用独立数据库,各所与局之间进行部分数据同步。

二、部署中涉及到的重要概念

1. 主服务器

发起复制操作的服务器,称为主服务器。

2. 从服务器

接收主服务器发送的数据并进行复制的服务器,称为从服务器。

3. 复制服务器(RPS)

在数据复制环境中,负责配置复制环境,定义复制关系的服务器。 RPS 有且仅有一台,它只负责配置和监控,并不参与到复制过程中。

三、部署方案

配置数据复制在 RPS (复制服务器)上进行。在配置数据复制之前,需要保证复制服务器和所有待配置节点的实例名各不相同,配置好其 MAL 系统并保证网络环境正常。按照复制组、复制关系、复制表映射的顺序配置复制环境。

1. 准备工作

首先准备一台复制数据库,三台需要数据同步的数据库(一个局级数据库,两个所级数据库,这个数据库的数量按照实际需求来)。这里默认所有的数据库已经安装完毕。

参与复制的数据库信息如下:

服务器

实例名

IP 地址

数据库端口号

MAL 端口号

复制服务器(数据库)

JD_SERVER_212

192.168.7.212

5240

5241

局服务器(数据库)

JD_SERVER_250

192.168.7.250

5240

5242

所服务器一(数据库)

JD_SERVER_211

192.168.7.211

5240

5243

所服务器二(数据库)

JD_SERVER_213

192.168.7.213

5240

5244

2. 修改dm.ini配置文件

修改对应数据库实例的dm.ini配置文件如下:

数据库

dm.ini 设置

复制服务器(数据库)

INSTANCE_NAME = JD_SERVER_212 PORT_NUM = 5240 MAL_INI = 1

局服务器(数据库)

INSTANCE_NAME = JD_SERVER_250 PORT_NUM = 5240 MAL_INI = 1

所服务器一(数据库)

INSTANCE_NAME = JD_SERVER_211 PORT_NUM = 5240 MAL_INI = 1

所服务器二(数据库)

INSTANCE_NAME = JD_SERVER_213 PORT_NUM = 5240 MAL_INI = 1

参数解释:

MAL_INI = 1 #打开MAL系统

注意,复制服务器所在数据库不能参与复制,应该是一个单独的数据库或者数据库实例。

3. 修改dmmal.ini 配置文件
代码语言:javascript
复制
MAL_CHECK_INTERVAL = 2
MAL_CONN_FAIL_INTERVAL = 5
[MAL_INST1]
MAL_INST_NAME = JD_SERVER_212                              
MAL_HOST = 192.168.7.212
MAL_PORT = 5241
MAL_INST_PORT = 5240
MAL_INST_HOST = 192.168.7.212
[MAL_INST2]
MAL_INST_NAME = JD_SERVER_250
MAL_HOST = 192.168.7.250
MAL_PORT = 5242
MAL_INST_PORT = 5240
MAL_INST_HOST = 192.168.7.250
[MAL_INST3]
MAL_INST_NAME = JD_SERVER_211
MAL_HOST = 192.168.7.211
MAL_PORT = 5243
MAL_INST_PORT = 5240
MAL_INST_HOST = 192.168.7.211
[MAL_INST4]
MAL_INST_NAME = JD_SERVER_213
MAL_HOST = 192.168.7.213
MAL_PORT = 5244
MAL_INST_PORT = 5240
MAL_INST_HOST = 192.168.7.213

每个节点的 dmmal.ini 配置必须一致,一个节点配置好后可直接拷贝到另外两个节点。

参数解释:

参数

解释

MAL_CHECK_INTERVAL

MAL 链路检测时间间隔

MAL_CONN_FAIL_INTERVAL

判定 MAL 链路断开的时间

MAL_INST_NAME

实例名,和 dm.ini 中的 INSTANCE_NAME 一致

MAL_HOST

MAL系统监听TCP连接的IP地址,即为当前机器的IP

MAL_PORT

MAL系统监听TCP连接的端口,每个实例必须不一样

MAL_INST_HOST

实例的对外服务端口,和 dm.ini 中的 PORT_NUM 一致

MAL_INST_PORT

实例对应的守护进程监听 TCP 连接的端口

4. 复制服务器初始化

​ 通过执行系统函数SP_INIT_REP_SYS(create_flag)来初始化复制服务器。其主要作用是创建复制用户(SYSREP/SYSREP)和创建复制服务器上需要的系统表。SP_INIT_REP_SYS 的参数create_flag 为 1 时表示创建用户和系统表,为 0 时表示删除用户和系统表。

执行示例

代码语言:javascript
复制
SP_INIT_REP_SYS(1);
5.环境初始化

以上工作完成后,即可进行复制环境的配置了。

  1. 重新启动以上所有数据库,启动的顺序不分先后。
  2. 登录复制服务器数据库,保证服务器状态为 OPEN,开始复制配置。
  3. 创建复制组: REP_GRP_JD ,执行如下语句:
代码语言:javascript
复制
SP_RPS_ADD_GROUP('REP_GRP_JD', '主从同步复制');
6.在数据同步服务中执行初始化

部署数据同步服务,比如服务所在ip为30.29.5,那么可以调用如下接口执行初始化配置关系:

post 30.29.5:8090/strategy/init?defalutIp=192.168.7.250&defalutPort=5240

defaultIp指局数据库ip,defalutPort为对应的数据库实例端口

至此,数据库同步服务部署完成。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/181818.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月15日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 达梦数据库同步部署方案
    • 一、部署方案简述
      • 二、部署中涉及到的重要概念
        • 三、部署方案
          • 1. 准备工作
          • 2. 修改dm.ini配置文件
          • 3. 修改dmmal.ini 配置文件
          • 4. 复制服务器初始化
          • 5.环境初始化
          • 6.在数据同步服务中执行初始化
      相关产品与服务
      数据库
      云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档