在CentOS Stream 9环境下部署达梦8数据库(DM8)的步骤与 CentOS 7 和 8 类似,但由于 CentOS Stream 9 是基于较新的内核和软件包,可能需要额外注意一些依赖和配置。以下是详细的部署步骤:
1、安装必要的依赖包
dnf install -y glibc libaio libnsl

2、创建用户和组
创建达梦数据库安装用户和组:
groupadd dinstalluseradd -g dinstall -m -d home/dmdba -s bin/bash dmdbapasswd dmdba
3、下载并解压达梦8安装包
从达梦官网下载 DM8 安装包。
上传安装包到服务器并挂载:
mount dm8_20240920_x86_kylin10_64.iso mnt/mkdir -p opt/dmdbmschown -R dmdba:dinstall opt/dmdbms/
4、配置环境变量
编辑 home/dmdba/.bash_profile,添加以下内容:
export DM_HOME=/opt/dmdbmsexport PATH=$DM_HOME/bin:$PATHexport LD_LIBRARY_PATH=$DM_HOME/bin:$LD_LIBRARY_PATH
使配置生效:
source /home/dmdba/.bash_profile
5、安装达梦8数据库
切换到dmdba用户:
su - dmdba
进入安装目录并执行安装脚本:
cd /mnt./DMInstall.bin -i2025-01-31 19:57:46[INFO] Installing DM DBMS...2025-01-31 19:57:46[INFO] Installing BASE Module...2025-01-31 19:57:54[INFO] Installing SERVER Module...2025-01-31 19:57:55[INFO] Installing CLIENT Module...2025-01-31 19:58:00[INFO] Installing DRIVERS Module...2025-01-31 19:58:04[INFO] Installing MANUAL Module...2025-01-31 19:58:04[INFO] Installing SERVICE Module...2025-01-31 19:58:05[INFO] Move log file to log directory.2025-01-31 19:58:06[INFO] Installed DM DBMS completely.Please execute the commands by root:/opt/dmdbms/script/root/root_installer.shEnd[dmdba@192 mnt]$ exitlogout[root@192 ~]# opt/dmdbms/script/root/root_installer.shMove /opt/dmdbms/bin/dm_svc.conf to /etcCreate the DmAPService serviceCreated symlink etc/systemd/system/multi-user.target.wants/DmAPService.service → /usr/lib/systemd/systeFinished to create the service (DmAPService)Start the DmAPService service[root@192 ~]#
按照提示完成安装,选择安装类型(典型或自定义),设置安装路径等。

6、初始化数据库实例
使用dminit工具初始化数据库实例:
dminit path=/opt/dmdbms/data db_name=DAMENG instance_name=DMSERVER port_num=5236initdb V8db version: 0x7000cfile dm.key not found, use default license!License will expire on 2025-09-20Normal of FASTNormal of DEFAULTNormal of RECYCLENormal of KEEPNormal of ROLLlog file path: /opt/dmdbms/data/DAMENG/DAMENG01.loglog file path: /opt/dmdbms/data/DAMENG/DAMENG02.logwrite to dir [/opt/dmdbms/data/DAMENG].create dm database success. 2025-01-31 20:00:46
参数说明:
- `path`:数据文件存放路径。
- `db_name`:数据库名。
- `instance_name`:实例名。
- `port_num`:数据库监听端口。
7、启动数据库服务
使用 `dmserver` 启动数据库服务:
cd /opt/dmdbms/bin./dmserver /opt/dmdbms/data/DAMENG/dm.ini

后台运行:
nohup ./dmserver /opt/dmdbms/data/DAMENG/dm.ini &
8、配置系统服务(可选)
创建系统服务文件
/usr/lib/systemd/system/dmserver.service:
cd /opt/dmdbms/script/root/./dm_service_installer.sh -t dmserver -dm_ini /opt/dmdbms/data/DAMENG/dm.ini -p DMSERVERCreated symlink /etc/systemd/system/multi-user.target.wants/DmServiceDMSERVER.service→ /usr/lib/systemd/system/DmServiceDMSERVER.service.Finished to create the service (DmServiceDMSERVER)[Unit]Description=DM Instance Service(DmServiceDMSERVER).After=network.target remote-fs.target[Service]Type=forkingPIDFile=/opt/dmdbms/bin/pids/DmServiceDMSERVER.pidExecStart=/opt/dmdbms/bin/DmServiceDMSERVER startExecStop=/opt/dmdbms/bin/DmServiceDMSERVER stopPrivateTmp=trueUser=dmdbaTasksMax=infinityLimitCORE=infinityLimitNOFILE=100000LimitNPROC=100000[Install]WantedBy=multi-user.target
参数说明:
-t 服务类型
-dm_ini INI 文件路径
-p 服务名后缀
启用并启动服务:
systemctl enable DmServiceDMSERVERsystemctl start DmServiceDMSERVER

9、验证安装
使用disql工具连接数据库:
disql SYSDBA/SYSDBA@localhost:5236Server[localhost:5236]:mode is normal, state is openlogin used time : 10.445(ms)disql V8
成功连接后,执行 SQL 语句验证数据库运行状态。
10、防火墙配置
开放数据库端口:
firewall-cmd --zone=public --add-port=5236/tcp --permanentfirewall-cmd --reload
11、其他配置
-字符集:根据需求设置数据库字符集。
-备份与恢复:配置定期备份策略。
12、常见问题
(1)依赖包缺失
- 如果安装过程中提示缺少依赖包,使用 `dnf` 安装所需包。
- 例如:
dnf install -y libnsl2
(2)权限问题
- 确保 `dmdba` 用户对安装目录和数据目录有足够权限。
(3)端口冲突
- 检查端口是否被占用:
netstat -tuln | grep 5236
(4)SELinux 和 Firewalld
- 如果 SELinux 启用,可能需要调整策略:
setenforce 0
- 确保防火墙允许数据库端口。
(5)CentOS Stream 9 兼容性
- 如果遇到兼容性问题,可以尝试使用达梦官方提供的针对新系统的补丁或更新安装包。
按照以上步骤,你可以在CentOS Stream 9环境下成功部署达梦8数据库。如果遇到问题,可以参考达梦官方文档或联系技术支持。
https://eco.dameng.com/document/dm/zh-cn/start/dm-service-registered-linux.html




