达梦数据库集成说明

HAP 私有部署版默认使用的关系数据库是 MySQL,从 v4.6.0 开始已适配达梦,针对有信创要求的情况,用户可以选择使用此数据库替代 MySQL。
具体集成步骤如下:
-
采购达梦数据库管理系统 DM8,要求:企业版 或 安全版,单节点或主从集群
-
部署达梦数据库时,需要注意以下3点:
-
忽略大小 写
-
修改 data 目录下的 dm.ini,排除保留关键词
EXCLUDE_RESERVED_WORDS=status,type,interval
-
每个库需要有独立的用户(HAP 系统需要使用5个库)
-
-
达梦数据库部署完成后,下载 HAP 数据库 初始化脚本,上传至达梦数据库所在环境(如果是容器部署则上传至容器内)
1_Tablespace.sql 中含数据库存储路径、初始密码,可自行修改 -
数据初始化
可使用 disql 客户端连接工具连接达梦数据库,参考:SQL 交互式查询工具, 用户名、密码、IP、端口 根据实际情况修改
/opt/dmdbms/bin/disql SYSDBA/SYSDBA001@127.0.0.1:5236
设置编码
SET CHAR_CODE UTF8
执行初始化脚本(
/usr/local/init_dameng/
路径根据实际情况修改)start /usr/local/init_dameng/1_Tablespace.sql
start /usr/local/init_dameng/2_MDProject.sql
start /usr/local/init_dameng/3_MDStructure.sql
start /usr/local/init_dameng/4_MDApplication.sql
start /usr/local/init_dameng/5_MDCalendar.sql
start /usr/local/init_dameng/6_MDLog.sql
start /usr/local/init_dameng/7_Data_MDProject.sql
start /usr/local/init_dameng/8_Data_MDApplication.sql -
HAP 服务初始化
- 达梦单节点
- 达梦数据守护集群
在服务初始化之前需要先添加以下环境变量(连接参数值根据实际值修改)连接达梦数据库
ENV_RDB_TYPE: "3"
ENV_RDB_URI_MDPROJECT: "Server=127.0.0.1:5236;UserId=MDPROJECT;PWD=******;Database=MDPROJECT"
ENV_RDB_URI_MDLOG: "Server=127.0.0.1:5236;UserId=MDLOG;PWD=******;Database=MDLOG"
ENV_RDB_URI_MDSTRUCTURE: "Server=127.0.0.1:5236;UserId=MDSTRUCTURE;PWD=******;Database=MDSTRUCTURE"
ENV_RDB_URI_MDCALENDAR: "Server=127.0.0.1:5236;UserId=MDCALENDAR;PWD=******;Database=MDCALENDAR"
ENV_RDB_URI_MDAPPLICATION: "Server=127.0.0.1:5236;UserId=MDAPPLICATION;PWD=******;Database=MDAPPLICATION"
ENV_STANDALONE_DISABLE_SERVICES: "mysql"达梦数据库的 数据守护集群 是一种主备架构的高可用解决方案,标准配置包含三个关键节点:
-
主库节点(Primary) - 处理所有读写请求
-
备库节点(Standby) - 实时同步数据并提供只读服务
-
监视器节点(Monitor) - 负责集群状态监控和故障自动切换
为确保应用在故障切换时能自动连接到新的主节点,不能直接配置连接单一主节点IP,必须使用数据守护集群提供的高可用连接机制。
配置方法:
-
挂载配置文件到 HAP 应用服务容器内
/etc/dm_svc.conf
路径,配置文件内容如下:TIME_ZONE=(480)
LANGUAGE=(cn)
LOGIN_MODE=(1)
DMHA=(172.16.1.1:5236,172.16.1.2:5236)-
注意修改配置文件中 DMHA 参数值的 IP 与端口为实际达梦数据库主备节点的 IP 与端口。
参数名 说明 示例值 TIME_ZONE 指明客户端的默认时区设置范围为:-779~840M。
如 60 对应 +1:00 时区,+480 对于东八区,如果不做配置默认是操作系统的时区。(480) LANGUAGE 语言设置。
(cn)中文/(en)英文(cn) LOGIN_MODE 指定优先登录的服务器模式。
0:优先连接 PRIMARY 模式的库,NORMAL 模式次之,最后选择 STANDBY 模式;
1:只连接主库;
2:只连接备库;
3:优先连接 STANDBY 模式的库,PRIMARY 模式次之,最后选择 NORMAL 模式;
4:优先连接 NORMAL 模式的库,PRIMARY 模式次之 ,最后选择 STANDBY 模式。(1) DMHA 集群主备节点地址列表,多个地址用逗号分隔,参数名可以自定义。
客户端会按顺序尝试连接。(172.16.1.1:5236,172.16.1.2:5236) -
-
在服务初始化之前需要添加以下环境变量(连接参数值根据实际值修改)连接达梦数据库
ENV_RDB_TYPE: "3"
ENV_RDB_URI_MDPROJECT: "Server=DMHA;UserId=MDPROJECT;PWD=******;Database=MDPROJECT"
ENV_RDB_URI_MDLOG: "Server=DMHA;UserId=MDLOG;PWD=******;Database=MDLOG"
ENV_RDB_URI_MDSTRUCTURE: "Server=DMHA;UserId=MDSTRUCTURE;PWD=******;Database=MDSTRUCTURE"
ENV_RDB_URI_MDCALENDAR: "Server=DMHA;UserId=MDCALENDAR;PWD=******;Database=MDCALENDAR"
ENV_RDB_URI_MDAPPLICATION: "Server=DMHA;UserId=MDAPPLICATION;PWD=******;Database=MDAPPLICATION"
ENV_STANDALONE_DISABLE_SERVICES: "mysql"- 与连接达梦单节点不同的是 Server 值写的是在
/etc/dm_svc.conf
文件中定义的主备节点的服务名DMHA
。
- 与连接达梦单节点不同的是 Server 值写的是在
-
完成系统初始化相关步骤即可。