达梦数据库(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访问。

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

相关推荐
霖霖总总2 小时前
[小技巧36]MySQL 配置参数全解:参数含义、作用域与运维建议
运维·数据库·mysql
白驹过隙不负青春2 小时前
Centos7开启、关闭swap
linux·centos
负二代0.02 小时前
Linux下的软件管理
linux·运维
是三好2 小时前
Sharding Sphere
数据库·sharding sphere
超级数据查看器2 小时前
超级数据查看器 更新日志(包含的功能)
android·java·数据库·sqlite·安卓
Zoey的笔记本2 小时前
支持API接入的看板工具测评:如何实现自动化协作
运维·自动化
物理与数学2 小时前
Linux内核 mm_struct
linux·linux内核
哲霖软件2 小时前
机械设备ERP选型指南:5款产品技术特性与落地要点
运维·数据库
leiming62 小时前
手写Linux C UDP通信
linux·c语言·udp