注册
CentOS7环境下达梦DM8数据库离线安装
专栏/技术分享/ 文章详情 /

CentOS7环境下达梦DM8数据库离线安装

DM_979185 2026/07/23 60 0 0
摘要

本文主要基于CentOS7操作系统,来实现达梦DM8数据库的离线安装。主要完成系统环境配置、达梦数据库用户与目录权限搭建、DM8数据库在CentOS7环境下的命令行安装、命令行方式初始化数据库实例、注册与命令行启停数据库等操作。针对离线安装、实例创建、服务启动等环节出现的各类报错问题进行逐一排查解决,解决了镜像文件损坏、命令语法错误、参数格式不规范、服务调用方式错误等操作问题。

一、环境与前期准备

1、环境说明

操作系统:CentOS7 x86_64
数据库版本:达梦DM8
部署方式:离线ISO镜像安装
虚拟机内存:建议30G以上,此处设为40G,避免数据库启动内存不足

2、前置操作

2.1 创建达梦用户与用户组

创建用户组dinstall

groupadd dinstall -g 2001

创建dmdba用户并加入组

useradd -G dinstall -m -d /home/dmdba -s /bin/bash -u 2001 dmdba

设置用户密码

passwd dmdba
image.png

2.2 修改文件打开最大数

修改系统限制配置

vi /etc/security/limits.conf

查看当前限制

ulimit -a

查看最大打开文件数

ulimit -n

查看最大进程数

ulimit -u
image.png
image.png

2.3 创建安装目录并授权

实例保存目录

mkdir -p /dmdata/data

归档保存目录

mkdir -p /dmdata/arch

备份保存目录

mkdir -p /dmdata/dmbak
image.png
image.png

2.4 虚拟机挂载离线ISO镜像(两种方式)

image.png

方式1:VMware光驱挂载(无文件损坏)

虚拟机设置→CD/DVD,连接方式选择使用ISO映像文件,选中E:\dm8\dm8_20260427_x86_CentOS7_64\dm8_20260427_x86_CentOS7_64.iso(为iso文件存放的位置),会在桌面生成名为“dameng”的光盘,如上图所示,其中DMInstall.bin文件路径为/run/media/user/dameng。

方式2:本地上传ISO后loop挂载

采用VMware Tool工具将外部的iso文件拖拽进桌面,将dm8_20260427_x86_CentOS7_64.iso复制到/opt/,
执行后由原位置/home/user/桌面/dm8_20260427_x86_CentOS7_64.iso
变为/opt/dm8_20260427_x86_CentOS7_64.iso
image.png

下面的流程图为:对方式2过程的理解

image.png

本阶段踩坑

1、直接用root安装数据库:官方禁止,会导致后续实例权限报错,必须使用dmdba安装;
2、目录未授权:后续拷贝文件、初始化实例报权限不足;
3、loop挂载后拷贝DMInstall.bin生成0字节空文件,根源是镜像读取IO故障,改用光驱硬件挂载规避。
image.png

二、达梦DM8软件离线安装(命令行方式)

1、切换dmdba用户进入镜像目录

将ISO镜像中的达梦数据库安装文件DMInstall.bin复制到/home/dmdb/目录下:
image.png
修改文件所属用户和用户组:
image.png
给安装文件增加执行权限:
image.png

2、离线命令行安装

按照交互提示操作:
1、是否输入Key:选择n
2、时区:21
3、安装路径:/home/dmdba/dmdbms
4、安装类型:典型安装
等待安装进度走完,安装完成后会提示使用root执行脚本。
image.png
image.png
image.png
image.png

3、root执行安装后置脚本

image.png

本阶段踩坑

  1. 图形安装报错 SWTError: No more handles:
    解决方案:使用 ./DMInstall.bin -i 纯文本离线安装;
  2. su -dmdba 切换用户报错无效选项:
    错误写法:su -dmdba,正确写法 su - dmdba,- 和用户名之间必须空格;
  3. 安装包无法执行:缺少 chmod +x DMInstall.bin 赋予执行权限。

三、dminit初始化数据库实例

1、切换dmdba进入工具目录

image.png

2、完整自定义实例创建命令(UTF8字符集、32K页大小)

image.png
参数说明:
CHARSET=1:代表UTF-8(不能写utf_8字符串)
PORT_NUM=5237:多实例端口不能重复
DB_NAME/INSTANCE_NAME:库名、实例名不可重复,实现多实例隔离
执行成功提示:create dm database success

四、root注册数据库系统服务与命令行启停数据库

1、进入注册脚本目录

image.png

2 官方标准注册服务脚本

image.png
注册完成生成服务名:DmServiceDMTEST

3 命令行启停数据库

image.png
image.png

本阶段踩坑

1、注册时报错ini文件不存在:复制文档示例路径/dmdata/data,未替换成本机真实路径/home/dmdba/dmdbms/data/DMTEST/dm.ini;
2、错误执行./DmServiceDMTEST start提示无文件:
核心原因:DmService是system系统服务名,不是bin目录下可执行文件,只能用systemctl管理;
3、systemctl start执行无输出:属于正常静默执行,用status查看真实运行状态。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服