达梦数据库(DM8)详细安装教程


文章目录


一、安装环境准备(必做,避免安装失败)

1.1 系统配置要求

配置项 最低要求 推荐配置(生产环境)
操作系统 CentOS 7.x 64位(最小化安装需补依赖) CentOS 7.x/8.x 64位(完整版)
CPU 2核(x86_64架构) 4核及以上(支持超线程)
内存 4GB(空闲内存≥2GB) 8GB及以上(避免内存溢出)
磁盘空间 20GB(含安装包+安装目录+数据目录) 50GB及以上(建议单独挂载数据盘)
网络 能访问外网(下载安装包) 固定IP地址,关闭不必要端口

1.2 系统环境预处理(root用户执行)

⚠️ 重要:所有预处理操作必须使用root用户,否则会因权限不足导致安装失败。

1.2.1 关闭防火墙和SELinux

达梦数据库默认使用5236端口,防火墙和SELinux会拦截端口通信,建议安装期间直接关闭(生产环境可后续配置白名单):

bash 复制代码
# 临时关闭防火墙(立即生效,重启失效)
systemctl stop firewalld
# 永久关闭防火墙(重启生效)
systemctl disable firewalld

# 临时关闭SELinux(立即生效,重启失效)
setenforce 0
# 永久关闭SELinux(修改配置文件,重启生效)
sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

1.2.2 安装依赖包

达梦安装依赖gcc、libaio等库,最小化安装的CentOS需手动安装:

bash 复制代码
yum install -y gcc gcc-c++ make libaio-devel numactl-devel glibc-devel unzip 

1.2.3 创建达梦专属用户和组

不建议使用root用户直接安装和运行数据库(存在安全风险),需创建专属用户组和用户:

bash 复制代码
# 创建用户组dinstall
groupadd dinstall
# 创建用户dmdba,归属dinstall组,家目录设为/dm8,默认shell为bash
useradd -g dinstall -m  -s /bin/bash dmdba
# 设置dmdba用户密码(输入密码时无回显,输入后回车即可)
passwd dmdba

1.2.4 修改系统资源限制

默认系统资源限制较低,会导致数据库运行时出现连接数不足、文件打开数超限等问题,需修改配置:

bash 复制代码
# 编辑limits.conf文件
vim /etc/security/limits.conf

在文件末尾添加以下内容(按i进入编辑模式,添加后按Esc,输入:wq保存退出):

bash 复制代码
dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba soft nproc 65536
dmdba hard nproc 65536
dmdba soft core unlimited
dmdba hard core unlimited

二、下载达梦数据库安装包

达梦数据库安装包需从官方网站下载,提供免费试用版本(非商业用途可正常使用):

  1. 访问达梦官方网站:https://www.dameng.com/(无需注册,直接下载)

  2. 进入「产品下载」板块,选择「DM8 数据库」,点击「立即下载」

  3. 选择对应版本:「Linux x86_64」(适配CentOS 7.x),下载安装包(文件名示例:dm8_20251208_x86_CentOS7_64.zip

  4. 将下载的安装包上传至服务器的 /home/dmdba 目录(使用Xshell、WinSCP等工具,上传用户为dmdba,避免权限问题)

三、解压安装包(dmdba用户执行)

⚠️ 重要:解压操作必须使用dmdba用户,否则安装目录权限会异常。

bash 复制代码
# 切换到dmdba用户(root用户执行此命令)
su - dmdba

# 解压安装包到当前目录(./dm8_install会自动创建)
unzip dm8_20251208_x86_CentOS7_64.zip -d ./dm8_install

# 进入解压目录,查看安装程序
cd /home/dmdba/dm8_install


继续解压iso文件,需要使用p7zip 工具解压

bash 复制代码
# 下载p7zip和p7zip-plugins的rpm包(阿里云镜像)
wget https://mirrors.aliyun.com/epel/7/x86_64/Packages/p/p7zip-16.02-10.el7.x86_64.rpm
wget https://mirrors.aliyun.com/epel/7/x86_64/Packages/p/p7zip-plugins-16.02-10.el7.x86_64.rpm
# 本地安装
rpm -ivh p7zip-16.02-10.el7.x86_64.rpm p7zip-plugins-16.02-10.el7.x86_64.rpm


解压iso文件

bash 复制代码
7z x dm8_20251208_x86_CentOS7_64.iso -o/home/dmdba/dm8_install/
ls -l  # 能看到DMInstall.bin(安装程序)即为解压成功

四、图形化安装(推荐新手,直观易懂)

图形化安装适合有桌面环境或远程X11转发的场景,步骤清晰,不易出错。

4.1 开启X11转发(远程连接服务器必备)

如果是远程连接服务器(如Xshell、SecureCRT),需开启X11转发才能调出图形化界面:

  1. Xshell配置:打开会话属性 → 「SSH」→ 「X11」→ 勾选「转发X11连接到」(默认本地端口0.0)

  2. 服务器安装X11依赖(root用户执行):

bash 复制代码
yum install -y xorg-x11-xauth xorg-x11-fonts-* xorg-x11-utils

4.2 执行图形化安装程序

bash 复制代码
# 确保当前用户为dmdba(若已切换则无需执行)
su - dmdba

# 进入解压目录
cd /home/dmdba/dm8_install

# 赋予安装程序执行权限
chmod +x DMInstall.bin

# 启动图形化安装程序(若弹出界面则成功,无界面请检查X11配置)
./DMInstall.bin

4.3 图形化安装步骤(一步一图指引)

步骤序号 操作界面 详细操作说明
1 语言选择 默认「简体中文」,点击「确定」
2 安装向导 点击「下一步」(无需修改)
3 许可证协议 勾选「我接受许可证协议」,点击「下一步」
4 环境检查 等待系统自动检查(约1分钟),无「错误」提示则点击「下一步」(警告可忽略,如"内存不足"仅影响性能)
5 安装类型选择 推荐「典型安装」(包含数据库核心、客户端、驱动等,适合大部分场景),点击「下一步」
6 安装目录选择 默认目录为「/dm8」(与dmdba用户家目录一致),无需修改,点击「下一步」(若提示权限不足,检查dmdba用户对/dm8目录的权限)
7 确认安装信息 核对安装类型、目录、占用空间,无误后点击「安装」
8 安装进度 等待安装完成(约5-10分钟,根据服务器配置而定),期间请勿关闭窗口
9 执行配置脚本 安装完成后,会弹出提示「请以root用户执行以下脚本」,复制脚本路径(如/ dm8/script/root/root_installer.sh),打开新的终端(root用户)执行该脚本,执行完成后回到安装界面点击「完成」

五、命令行安装(备用,无图形界面场景)

若服务器无桌面环境(如纯命令行服务器),可使用命令行安装,步骤如下:

bash 复制代码
# 切换到dmdba用户
su - dmdba

# 进入解压目录
cd /home/dmdba/dm8_install

# 执行命令行安装(-i参数表示交互模式)
./DMInstall.bin -i

# 后续交互步骤(按提示输入,默认选项直接回车):
1. 选择语言:1(简体中文)
2. 是否输入Key文件路径? :n
3. 是否设置时区?:y
4. 请选择时区 [21]:21
5. 安装类型:1(典型安装)
6. 请选择安装目录 [/home/dmdba/dmdbms]:/home/dmdba/dmdbms(默认或自行选择)
7. 是否确认安装路径:y
8. 确认安装:y
9. 安装完成后,按提示用root用户执行脚本:/home/dmdba/dmdbms/script/root/root_installer.sh
bash 复制代码
# root用户身份执行脚本
/home/dmdba/dmdbms/script/root/root_installer.sh

六、后续配置(安装完成后必做)

6.1 初始化数据库实例

安装完成后需初始化数据库实例(生成数据文件、日志文件等),使用dmdba用户执行:

bash 复制代码
# 进入达梦数据库工具目录
cd /home/dmdba/dmdbms/bin

# 执行初始化命令(参数说明:实例名DM8,端口5236,字符集UTF-8)
#(密码示例:Dm@123456、Da@654321,满足大小写+数字+长度要求)
./dminit path=/home/dmdba/dmdbms/data db_name=DM8 instance_name=DM8 port_num=5236 charset=1 SYSDBA_PWD="Dm@123456" SYSAUDITOR_PWD="Da@654321"

执行成功后会提示「初始化数据库完成」,数据文件位于/dm8/data/DM8目录下。

6.2 注册并启动数据库服务

将数据库实例注册为系统服务,方便开机自启和管理(root用户执行):

bash 复制代码
# 进入服务注册脚本目录
cd /home/dmdba/dmdbms/script/root

# 注册服务(参数:实例名DM8,服务名DmServiceDM8)
./dm_service_installer.sh -t dmserver -dm_ini /home/dmdba/dmdbms/data/DM8/dm.ini -p DM8

# 启动数据库服务
systemctl start DmServiceDM8

# 设置开机自启
systemctl enable DmServiceDM8

# 查看服务状态(显示active(running)即为正常)
systemctl status DmServiceDM8

6.3 连接数据库测试

使用达梦自带的客户端工具连接数据库,验证安装是否成功(dmdba用户执行):

bash 复制代码
# 进入客户端工具目录
cd /home/dmdba/dmdbms/bin

# 执行连接命令(用户名SYSDBA,密码初始化时已设置)
./disql 

# 连接成功后会显示SQL>提示符,输入以下命令测试(显示数据库版本即为正常)
select * from v$version;

⚠️ 首次登录建议修改默认密码:alter user SYSDBA identified by 新密码;

七、常见问题排查(避坑指南)

7.1 安装时提示「权限不足」

原因:使用root用户解压或执行安装程序,导致目录权限异常。

解决:删除解压目录和安装目录,重新用dmdba用户解压安装:

bash 复制代码
# root用户执行
rm -rf /home/dmdba/dm8_install /home/dmdba/dmdbms
su - dmdba  # 切换到dmdba用户,重新解压安装

7.2 图形化界面无法弹出

原因:X11转发未配置或依赖缺失。

解决:1. 检查Xshell的X11转发配置;2. 重新安装X11依赖(yum install -y xorg-x11-xauth);3. 执行echo $DISPLAY,若输出空值,重启Xshell会话。

7.3 数据库服务启动失败

原因:端口被占用、dm.ini配置错误、数据文件损坏。

解决:1. 检查5236端口是否被占用(netstat -an | grep 5236),占用则kill对应进程;2. 查看日志文件(/dm8/data/DM8/log/dm_alert_DM8.log),根据错误信息修改配置;3. 若数据文件损坏,重新初始化实例。

7.4 连接数据库提示「用户名或密码错误」

原因:默认密码输入错误或密码已被修改。

解决:默认密码为SYSDBA001(区分大小写);若密码忘记,可通过达梦工具重置(需root权限)。

八、重要注意事项

  • 全程严格区分root用户和dmdba用户,安装、启动数据库必须使用dmdba用户,系统配置、服务注册必须使用root用户。

  • 生产环境建议单独挂载数据盘(如/dev/sdb1挂载到/dm8/data),避免系统盘满导致数据库宕机。

  • 定期备份数据库(使用达梦自带的dmrman工具),防止数据丢失。

  • 达梦数据库默认端口为5236,生产环境需配置防火墙白名单,仅允许指定IP访问。

  • 安装包、配置文件、日志文件建议妥善保存,方便后续排查问题。

相关推荐
十日十行8 小时前
Linux和window共享文件夹
linux
李广坤11 小时前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
木心月转码ing15 小时前
WSL+Cpp开发环境配置
linux
爱可生开源社区1 天前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba
蝎子莱莱爱打怪2 天前
Centos7中一键安装K8s集群以及Rancher安装记录
运维·后端·kubernetes
崔小汤呀2 天前
最全的docker安装笔记,包含CentOS和Ubuntu
linux·后端
随逸1772 天前
《从零搭建NestJS项目》
数据库·typescript
何中应2 天前
vi编辑器使用
linux·后端·操作系统
何中应2 天前
Linux进程无法被kill
linux·后端·操作系统
何中应2 天前
rm-rf /命令操作介绍
linux·后端·操作系统