在CentOS Stream 9环境下部署达梦8数据库(DM8)的步骤与 CentOS 7 和 8 类似,但由于 CentOS Stream 9 是基于较新的内核和软件包,可能需要额外注意一些依赖和配置。以下是详细的部署步骤:
1、安装必要的依赖包
dnf install -y glibc libaio libnsl
复制
2、创建用户和组
创建达梦数据库安装用户和组:
groupadd dinstall
useradd -g dinstall -m -d home/dmdba -s bin/bash dmdba
passwd dmdba
复制
3、下载并解压达梦8安装包
从达梦官网下载 DM8 安装包。
上传安装包到服务器并挂载:
mount dm8_20240920_x86_kylin10_64.iso mnt/
mkdir -p opt/dmdbms
chown -R dmdba:dinstall opt/dmdbms/
复制
4、配置环境变量
编辑 home/dmdba/.bash_profile,添加以下内容:
export DM_HOME=/opt/dmdbms
export PATH=$DM_HOME/bin:$PATH
export LD_LIBRARY_PATH=$DM_HOME/bin:$LD_LIBRARY_PATH
复制
使配置生效:
source /home/dmdba/.bash_profile
复制
5、安装达梦8数据库
切换到dmdba用户:
su - dmdba
复制
进入安装目录并执行安装脚本:
cd /mnt
./DMInstall.bin -i
2025-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.sh
End
[dmdba@192 mnt]$ exit
logout
[root@192 ~]# opt/dmdbms/script/root/root_installer.sh
Move /opt/dmdbms/bin/dm_svc.conf to /etc
Create the DmAPService service
Created symlink etc/systemd/system/multi-user.target.wants/DmAPService.service → /usr/lib/systemd/syste
Finished 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=5236
initdb V8
db version: 0x7000c
file dm.key not found, use default license!
License will expire on 2025-09-20
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
log file path: /opt/dmdbms/data/DAMENG/DAMENG01.log
log file path: /opt/dmdbms/data/DAMENG/DAMENG02.log
write 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 DMSERVER
Created 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=forking
PIDFile=/opt/dmdbms/bin/pids/DmServiceDMSERVER.pid
ExecStart=/opt/dmdbms/bin/DmServiceDMSERVER start
ExecStop=/opt/dmdbms/bin/DmServiceDMSERVER stop
PrivateTmp=true
User=dmdba
TasksMax=infinity
LimitCORE=infinity
LimitNOFILE=100000
LimitNPROC=100000
[Install]
WantedBy=multi-user.target
复制
参数说明:
-t 服务类型
-dm_ini INI 文件路径
-p 服务名后缀
启用并启动服务:
systemctl enable DmServiceDMSERVER
systemctl start DmServiceDMSERVER
复制

9、验证安装
使用disql工具连接数据库:
disql SYSDBA/SYSDBA@localhost:5236
Server[localhost:5236]:mode is normal, state is open
login used time : 10.445(ms)
disql V8
复制
成功连接后,执行 SQL 语句验证数据库运行状态。
10、防火墙配置
开放数据库端口:
firewall-cmd --zone=public --add-port=5236/tcp --permanent
firewall-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