乐于分享
好东西不私藏

国产数据库DM8实战手册:静默安装部署全教程

国产数据库DM8实战手册:静默安装部署全教程
叮!你的伪全能技术喵已上线~

达梦数据库(DM8)作为国产数据库的核心代表,在企业级应用中应用广泛。在一些特殊场景下,用户需要实现非交互式安装(无需人工手动操作交互),在这种情况下,DM提供了静默安装方案,可通过预先配置安装参数文件的方式完成静默安装,静默安装能避免交互式操作的繁琐,提高部署效率,尤其适合批量部署或无人值守场景。本篇将分享达梦8数据库的静默安装全流程,新手也能轻松上手!

一、安装前准备工作

1. 系统环境检查

首先确认系统满足以下最低配置(生产环境建议提升配置,保证运行稳定性):

配置项
最低要求
操作系统
Linux x86_64 位
内存
≥ 2GB(建议 4GB+)
磁盘空间
≥ 10GB(安装 + 数据存储)
内核版本
≥ 2.6.32

执行以下命令,查看主机系统信息和配置,确认符合要求:

# 查看系统架构
uname
 -m
# 查看系统版本

cat
 /etc/redhat-release
# 查看内核版本

uname
 -a
# 查看磁盘空间

df
 -h
# 查看内存情况

free -g

2. 临时关闭防火墙与SeLinux


# CentOS 7/8 关闭防火墙(临时+永久)

systemctl stop firewalld
systemctl disable firewalld

# 临时关闭 SELinux

setenforce 0
# 永久关闭 SELinux(需重启生效,可选)

sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config

3. 检查并调整系统资源限制

系统资源限制不足会导致数据库启动或安装失败,先查看当前资源限制:

[root@node02 ~]# ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 31722
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 31722
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
[root@node02 ~]# 

重点关注以下4个参数,建议设置为如下要求:

  • • data seg size:建议 ≥1GB 或 unlimited(无限制)
  • • file size:建议 unlimited(无限制)
  • • open files:建议 ≥65536 或 unlimited
  • • virtual memory:建议 ≥1GB 或 unlimited

若参数不满足,修改配置文件调整(需重启生效):

# 编辑资源限制配置文件
vim /etc/security/limits.conf

# 添加以下内容(* 表示所有用户,也可指定dmdba用户)

* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535

4. 安装依赖包

达梦数据库安装依赖部分系统组件,执行以下命令安装:

# CentOS/RHEL 7 安装依赖
yum install -y libaio-devel numactl-devel gcc gcc-c++ make

5. 创建安装用户

不建议使用root用户直接安装数据库,创建专用安装用户dmdba及用户组:

# 创建用户组 dmgroup
groupadd dmgroup
# 创建用户 dmdba,指定所属组、家目录和登录shell

useradd -g dmgroup -m -d /home/dmdba -s /bin/bash dmdba
# 设置 dmdba 用户密码(替换“密码”为实际密码,如Dm@123456)

echo
 '密码'|passwd --stdin dmdba

二、达梦8数据库静默安装

1. 上传并解压安装包

将达梦8安装包(.zip格式)上传至dmdba用户家目录,切换至dmdba用户,解压安装包:

# 切换至dmdba用户
su - dmdba
# 解压安装包(替换安装包名称为实际文件名)

unzip dm8_20251208_x86_CentOS7_64.zip

解压后会得到iso镜像文件、校验文件和说明文档,重点关注iso镜像文件。

2. 创建目录并挂载镜像

切换至root用户,创建镜像挂载目录,将iso镜像挂载到该目录(镜像路径需替换为实际路径):

# 切换至root用户
su - root
# 创建挂载目录

mkdir
 /mnt/dm8
# 挂载iso镜像(替换镜像路径为实际路径)

mount -o loop /home/dmdba/dm8_20251208_x86_CentOS7_64.iso /mnt/dm8/

3. 创建静默安装配置文件

静默安装需通过xml配置文件指定安装参数,切换至dmdba用户,创建配置文件dm_install.xml:

# 切换至dmdba用户
su - dmdba
# 创建并编辑配置文件

cat
 >/home/dmdba/dm_install.xml<<EOF
<?xml version="1.0"?>
<DATABASE>
    <!--安装数据库的语言配置,简体中文版: ZH,繁体中文版: CHT,英文版: EN,不区分大小写,不允许为空 -->
    <LANGUAGE>ZH</LANGUAGE>
    <!--安装程序的时区配置,缺省为+08:00 -->
    <TIME_ZONE>+08:00</TIME_ZONE>
    <!-- key文件路径 -->
    <KEY></KEY>
    <!--安装程序组件类型,取值范围:0、1、2,0表示安装全部,1表示安装服务器,2表示安装客户端,缺省为0 -->
    <INSTALL_TYPE>0</INSTALL_TYPE>
    <!--安装路径 -->
    <INSTALL_PATH>/home/dmdba/dmdbms</INSTALL_PATH>
    <!--是否初始化库,取值范围:Y/N、y/n,不允许为空 -->
    <INIT_DB>y</INIT_DB>
    <!--数据库实例参数 -->
    <DB_PARAMS>
        <!--初始数据库存放的路径,不允许为空 -->
        <PATH>/data/dm8/data/</PATH>
        <!--初始化数据库名字,缺省为DAMENG,不超过128个字符 -->
        <DB_NAME>DAMENG</DB_NAME>
        <!--初始化数据库实例名字,缺省为DMSERVER,不超过128个字符 -->
        <INSTANCE_NAME>DMSERVER</INSTANCE_NAME>
        <!--初始化时设置dm.ini中的PORT_NUM,缺省为5236,取值范围:1024~65534 -->
        <PORT_NUM>5236</PORT_NUM>

        <!--初始数据库控制文件的路径,文件路径长度最大为256 -->
        <CTL_PATH>/data/dm8/data/DAMENG/dm.ctl</CTL_PATH>

        <!--初始化数据库日志文件的路径,文件路径长度最大为256,LOG_PATH值为空则使用缺省值,如果使用非默认值,LOG_PATH中节点数不能少于2个 -->
        <LOG_PATHS>
            <LOG_PATH>/data/dm8/data/DAMENG/logs/log01.log</LOG_PATH>
            <LOG_PATH>/data/dm8/data/DAMENG/logs/log02.log</LOG_PATH>
        </LOG_PATHS>

        <!--数据文件使用的簇大小,取值范围:16页、32页、64页,缺省为16页 -->
        <EXTENT_SIZE>16</EXTENT_SIZE>

        <!--数据文件使用的页大小,取值范围:4K、8K、16K、32K,缺省为8K -->
        <PAGE_SIZE>8</PAGE_SIZE>

        <!--重做日志文件使用的大小,单位MB,在32位版本下,取值范围为256~2048之间的整数,缺省值为2048;在64位版本下,取值范围为256和8192之间的整数,缺省值为4096 -->
        <LOG_SIZE>4096</LOG_SIZE>

        <!--大小写敏感。取值范围:Y/N y/n 1/0,缺省为Y -->
        <CASE_SENSITIVE>Y</CASE_SENSITIVE>

        <!--字符集选项,缺省为0。0代表GB18030,1代表UTF-8,2代表韩文字符集EUC-KR -->
        <CHARSET>1</CHARSET>
        <!--字符类型在计算HASH值时所采用的HASH算法类别。取值范围0,1。0:原始HASH算法;1:改进的HASH算法。缺省为1 -->
        <USE_NEW_HASH>1</USE_NEW_HASH>
        <!--初始化时设置SYSDBA的密码。1. 长度不能小于8且不能大于48  2. 需要同时包含大写字母、小写字母和数字-->
        <SYSDBA_PWD>Sysdm168</SYSDBA_PWD>
        <!--初始化时设置SYSAUDITOR的密码。1. 长度不能小于8且不能大于48  2. 需要同时包含大写字母、小写字母和数字-->
        <SYSAUDITOR_PWD>Sysdmau168</SYSAUDITOR_PWD>

        <!--初始化时区,默认是东八区。格式为:正负号小时:分钟,取值范围:-12:59 ~ +14:00 -->
        <TIME_ZONE>+08:00</TIME_ZONE>

        <!--是否启用页面内容校验,取值范围:0,1,2,3。0:不启用;1:开启页校验并使用CRC校验;2:开启页校验并使用指定的HASH算法进行校验;3:开启页校验并使用快速CRC校验,缺省为3 -->
        <PAGE_CHECK>3</PAGE_CHECK>

        <!--设置默认加密算法,不超过128个字符 -->
        <EXTERNAL_CIPHER_NAME></EXTERNAL_CIPHER_NAME>

        <!--设置默认HASH算法,不超过128个字符 -->
        <EXTERNAL_HASH_NAME></EXTERNAL_HASH_NAME>

        <!--设置根密钥加密引擎,不超过128个字符 -->
        <EXTERNAL_CRYPTO_NAME></EXTERNAL_CRYPTO_NAME>

        <!--全库加密密钥使用的算法名。算法可以是DM内部支持的加密算法,或者是第三方的加密算法。默认使用"AES256_ECB"算法加密,最长为128个字节 -->
        <ENCRYPT_NAME></ENCRYPT_NAME>

        <!--用于加密服务器根密钥,最长为48个字节 -->
        <USBKEY_PIN></USBKEY_PIN>

        <!--设置空格填充模式,取值范围:0,1,缺省为0 -->
        <BLANK_PAD_MODE>0</BLANK_PAD_MODE>

        <!--指定system.dbf文件的镜像路径,缺省值为空 -->
        <SYSTEM_MIRROR_PATH></SYSTEM_MIRROR_PATH>

        <!--指定main.dbf文件的镜像路径,缺省值为空 -->
        <MAIN_MIRROR_PATH></MAIN_MIRROR_PATH>

        <!--指定roll.dbf文件的镜像路径,缺省值为空 -->
        <ROLL_MIRROR_PATH></ROLL_MIRROR_PATH>

        <!--是否是四权分立,取值范围:0,1。0:不使用;1:使用。缺省为0。仅在安全版本下可见和可设置。 -->
        <PRIV_FLAG>0</PRIV_FLAG>

        <!--指定初始化过程中生成的日志文件所在路径。合法的路径,文件路径长度最大为257(含结束符),不包括文件名 -->
        <ELOG_PATH></ELOG_PATH>
    </DB_PARAMS>

    <!--是否创建数据库实例的服务,取值范围: Y/N y/n,不允许为空,不初始化数据库将忽略此节点。非root用户不能创建数据库服务。 -->
    <CREATE_DB_SERVICE>N/CREATE_DB_SERVICE>

    <!--是否启动数据库,取值范围: Y/N y/n,不允许为空,不创建数据库服务将忽略此节点。 -->
    <STARTUP_DB_SERVICE>N</STARTUP_DB_SERVICE>
</DATABASE>
EOF

⚠️ 注意:修改配置文件中的密码、路径等参数,确保符合实际需求(如SYSDBA密码建议自定义,避免使用默认密码)。

4. 执行静默安装命令

切换至dmdba用户,进入镜像挂载目录,执行静默安装命令(指定配置文件路径):

# 切换至dmdba用户
su - dmdba
# 进入镜像挂载目录

cd
 /mnt/dm8
# 执行静默安装(配置文件路径替换为实际路径)

./DMInstall.bin -q /home/dmdba/dm_install.xml

安装成功后,会提示“安装达梦数据库完成”,并要求以root用户执行后续脚本,结果如下:

[root@node03 ~]# su - dmdba
Last login: Fri Mar 13 17:18:47 CST 2026 on pts/2
[dmdba@node03 ~]$ cd /mnt/dm8/
[dmdba@node03 dm8]$ ./DMInstall.bin -q /home/dmdba/dm_install.xml
Extract install files..........
Hardware architecture verification passed!
2026-03-13 17:22:04 
[INFO] 安装 基础 模块...
2026-03-13 17:22:04 
[INFO] 安装达梦数据库...
2026-03-13 17:22:09 
[INFO] 安装 服务器 模块...
2026-03-13 17:22:09 
[INFO] 安装 客户端 模块...
2026-03-13 17:22:12 
[INFO] 安装 驱动 模块...
2026-03-13 17:22:15 
[INFO] 安装 手册 模块...
2026-03-13 17:22:16 
[INFO] 安装 服务 模块...
2026-03-13 17:22:16 
[INFO] 移动日志文件。
2026-03-13 17:22:18 
[INFO] 安装达梦数据库完成。

请以root系统用户执行命令:
/home/dmdba/dmdbms/script/root/root_installer.sh
2026-03-13 17:22:21 
[INFO] 开始初始化数据库...
2026-03-13 17:22:22 
[INFO] 初始化数据库完成。
[dmdba@node03 dm8]$ 

5. 执行root用户脚本

切换至root用户,执行安装完成后提示的脚本,完成服务配置:

# 切换至root用户
su - root
# 执行脚本(路径与安装提示一致)

sh /home/dmdba/dmdbms/script/root/root_installer.sh

执行成功后,会创建并启动DmAPService服务。

6. 创建数据库实例服务并启动

若需要通过系统服务管理数据库,执行以下命令创建实例服务并启动:

# 进入root脚本目录
cd
 /home/dmdba/dmdbms/script/root
# 创建DMSERVER服务(指定实例配置文件路径)

./dm_service_installer.sh -t dmserver -p DMSERVER -dm_ini /data/dm8/data/DAMENG/dm.ini
# 查看达梦相关服务
systemctl list-units --all | grep Dm
# 启动数据库服务

systemctl start DmServiceDMSERVER
# 查看服务状态(确认启动成功)

systemctl status DmServiceDMSERVER

7. 设置环境变量

为dmdba用户设置环境变量,方便后续操作数据库(无需输入完整路径):

# 切换至dmdba用户
su - dmdba
# 编辑环境变量配置文件

vim ~/.bash_profile

# 在文件末尾添加以下内容(替换路径为实际安装路径)

export
 DM_HOME=/home/dmdba/dmdbms
export
 PATH=$DM_HOME/bin:$PATH
export
 LD_LIBRARY_PATH=$DM_HOME/bin:$LD_LIBRARY_PATH

# 使环境变量生效

source
 ~/.bash_profile

8. 测试连接

环境变量生效后,执行以下命令测试数据库连接,确认安装成功:

# 连接数据库(用户名/密码,与配置文件中一致)
disql SYSDBA/Sysdm168

# 输出结果
[dmdba@node03 ~]$ disql SYSDBA/Sysdm168

服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 32.092(ms)
disql V8
SQL
>
点赞 + 关注跟着IT百事喵一起慢慢进阶吖,咱下期继续唠~~~