作为国产数据库的领军产品,达梦 DM 数据库(以下简称 DM 数据库)凭借高性能、高安全性和高兼容性,在政企信息化建设中应用越来越广泛。本文将以DM8 数据库(当前主流版本)为例,基于 Linux CentOS 7 系统,带大家一步步完成数据库的安装部署,同时分享安装过程中的关键注意事项和常见问题解决方案,适合数据库初学者和运维人员参考。
一、安装前准备:这些前提条件必须满足
在开始安装前,需确保系统环境符合 DM 数据库的运行要求,避免因环境不兼容导致安装失败或后续运行异常。
1. 硬件环境要求
DM 数据库对硬件的最低要求如下,实际生产环境建议根据业务规模提升配置:
- CPU:至少 1 核,推荐 4 核及以上(支持 x86_64、ARM 架构);
- 内存:至少 2GB,推荐 8GB 及以上(内存不足可能导致数据库启动缓慢或崩溃);
- 磁盘空间:
- 安装目录:至少 10GB 空闲空间(建议单独挂载 /data 分区,避免系统盘空间不足);
- 临时目录(/tmp):至少 1GB 空闲空间;
- 网络:确保服务器能正常联网(用于下载依赖包),且关闭防火墙或开放数据库默认端口(5236)。
2. 操作系统环境配置
(1)关闭防火墙和 SELinux
Linux 系统的防火墙和 SELinux 可能会阻止数据库端口通信,安装前需临时或永久关闭:
# 临时关闭防火墙(重启后失效)
systemctl stop firewalld
# 永久关闭防火墙(需重启生效)
systemctl disable firewalld
# 临时关闭SELinux(重启后失效)
setenforce 0
# 永久关闭SELinux(编辑配置文件)
vi /etc/selinux/config
# 将SELINUX=enforcing改为SELINUX=disabled,保存后重启服务器
(2)安装必要依赖包
DM 数据库安装依赖libaio、glibc等库文件,若系统缺少这些依赖,会导致安装程序无法启动,执行以下命令安装:
yum install -y libaio-devel glibc-devel.x86_64
(3)创建数据库用户和组
为了安全起见,不建议使用 root 用户直接运行 DM 数据库,需创建专用的用户和组(此处用户名为 dmdba,组名为 dinstall):
# 创建组
groupadd dinstall
# 创建用户并指定组
useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
# 设置用户密码
passwd dmdba
(4)配置内核参数
DM 数据库对系统内核参数有一定要求,需修改/etc/sysctl.conf文件,添加或修改以下参数:
vi /etc/sysctl.conf
# 添加以下内容
fs.file-max = 6553600
kernel.shmall = 2097152
kernel.shmmax = 1073741824
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.somaxconn = 65535
net.core.netdev_max_backlog = 65535
添加完成后,执行sysctl -p使参数立即生效。
同时,修改用户资源限制,编辑/etc/security/limits.conf文件:
vi /etc/security/limits.conf
# 添加以下内容(针对dmdba用户)
dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba soft nproc 131072
dmdba hard nproc 131072
修改后切换到 dmdba 用户,执行ulimit -a验证配置是否生效。
3. 下载 DM 数据库安装包
从达梦官方网站(https://www.dameng.com/)下载 DM8 数据库安装包,需注意选择与操作系统架构匹配的版本(如 x86_64、ARM)。下载后将安装包上传到服务器的/home/dmdba目录(需确保 dmdba 用户有读写权限)。
安装包格式通常为.iso镜像文件,需先挂载镜像:
# 创建挂载目录
mkdir /mnt/dmiso
# 挂载镜像(假设安装包路径为/home/dmdba/dm8_20230808_x86_rh7_64.iso)
mount -o loop /home/dmdba/dm8_20230808_x86_rh7_64.iso /mnt/dmiso
二、DM 数据库安装:图形化 / 命令行两种方式任选
DM 数据库支持图形化安装(需服务器有 GUI 界面或通过 Xmanager 远程连接)和命令行安装(适合无 GUI 的服务器),本文两种方式均会介绍,大家可根据实际环境选择。
1. 图形化安装(推荐新手)
(1)切换用户并启动安装程序
# 切换到dmdba用户
su - dmdba
# 进入挂载目录
cd /mnt/dmiso
# 启动图形化安装程序
./DMInstall.bin
若启动时提示 “无法初始化图形界面”,需检查是否配置了 X11 转发(远程连接时),或直接使用命令行安装。
(2)安装向导步骤
- 语言与时区选择:默认选择 “中文” 和 “Asia/Shanghai”,点击 “下一步”;
- 许可证协议:勾选 “接受”,点击 “下一步”;
- 密钥文件:若有官方授权密钥,点击 “浏览” 选择;若无,选择 “使用默认许可证”,点击 “下一步”;
- 安装类型:
- 推荐选择 “典型安装”(包含数据库服务器、客户端工具、驱动等组件);
- 若需自定义组件,可选择 “自定义安装”,根据需求勾选(如仅安装服务器);
- 选择安装目录(默认/opt/dmdbms,建议保持默认,便于后续维护),点击 “下一步”;
- 预安装检查:系统会自动检查依赖、磁盘空间等,若有 “警告” 可忽略(如内核参数未达最优),点击 “下一步”;
- 安装:点击 “安装”,等待进度条完成(约 5-10 分钟);
- 执行配置脚本:安装完成后,会提示 “请以 root 用户执行以下脚本”,复制脚本路径(如/opt/dmdbms/script/root/root_installer.sh),打开新的终端,以 root 用户执行该脚本(脚本作用:创建服务、设置权限等);
- 完成:执行脚本后,返回安装向导,点击 “完成”,图形化安装结束。
2. 命令行安装(适合无 GUI 环境)
若服务器无图形界面,可通过命令行模式安装,步骤如下:
# 切换到dmdba用户
su - dmdba
# 进入挂载目录
cd /mnt/dmiso
# 执行命令行安装(指定安装目录、类型等参数)
./DMInstall.bin -i
执行后按提示操作:
- 选择语言:输入 “1”(中文),回车;
- 接受许可证协议:输入 “y”,回车;
- 选择密钥文件:输入 “n”(无密钥),回车;
- 选择安装类型:输入 “1”(典型安装),回车;
- 确认安装目录:默认/opt/dmdbms,直接回车;
- 预安装检查:输入 “y”,回车;
- 开始安装:输入 “y”,回车,等待安装完成;
- 执行 root 脚本:按提示以 root 用户执行脚本(如/opt/dmdbms/script/root/root_installer.sh);
- 安装完成:脚本执行后,命令行提示 “安装成功”,结束安装。
三、数据库初始化与服务启动
安装完成后,需初始化数据库实例(创建数据库),并启动 DM 数据库服务。
1. 初始化数据库实例
使用 DM 提供的dminit工具初始化实例,步骤如下:
# 切换到dmdba用户
su - dmdba
# 进入DM数据库bin目录
cd /opt/dmdbms/bin
# 执行初始化命令(指定实例名、端口、字符集等)
./dminit path=/opt/dmdbms/data db_name=DMDB instance_name=DMSERVER port_num=5236 charset=1
参数说明:
- path:数据库文件存储路径(需提前创建,此处用默认的/opt/dmdbms/data);
- db_name:数据库名(自定义,如 DMDB);
- instance_name:实例名(自定义,如 DMSERVER);
- port_num:数据库端口(默认 5236,避免与其他服务冲突);
- charset:字符集(1=GBK,2=UTF-8,根据需求选择,此处选 GBK)。
执行后,若提示 “初始化成功”,表示实例创建完成,数据库文件会生成在/opt/dmdbms/data/DMDB目录下。
2. 注册并启动数据库服务
(1)注册服务(以 root 用户执行)
# 切换到root用户
su - root
# 进入DM服务脚本目录
cd /opt/dmdbms/script/root
# 注册服务(指定实例路径和服务名)
./dm_service_installer.sh -t dmserver -p DMSERVER -dm_ini /opt/dmdbms/data/DMDB/dm.ini
参数说明:
- -t dmserver:注册数据库服务;
- -p DMSERVER:服务名(自定义,如 DMSERVER);
- -dm_ini:实例配置文件路径(即初始化时生成的 dm.ini 路径)。
执行后提示 “服务注册成功”,表示服务已添加到系统服务中。
(2)启动 / 停止 / 重启服务
使用systemctl命令管理数据库服务:
# 启动服务
systemctl start DmServiceDMSERVER
# 停止服务
systemctl stop DmServiceDMSERVER
# 重启服务
systemctl restart DmServiceDMSERVER
# 查看服务状态(确认是否启动成功)
systemctl status DmServiceDMSERVER
若状态显示 “active (running)”,表示数据库服务已成功启动。
四、数据库连接验证:确保安装成功
服务启动后,需验证数据库是否可正常连接,可通过 DM 自带的客户端工具或第三方工具连接。
1. 使用 DM 自带客户端(dmclient)
# 切换到dmdba用户
su - dmdba
# 进入bin目录
cd /opt/dmdbms/bin
# 启动客户端,连接数据库(用户名默认SYSDBA,密码默认SYSDBA001)
./dmclient SYSDBA/SYSDBA001@localhost:5236
若连接成功,会进入SQL>命令行界面,可执行简单 SQL 语句验证:
-- 查询数据库版本
select * from v$version;
-- 创建测试表
create table test(id int);
-- 插入数据
insert into test values(1);
-- 查询数据
select * from test;
若 SQL 语句正常执行,说明数据库连接正常。
2. 使用图形化客户端(DM 管理工具)
若本地电脑(Windows 系统)已安装 DM 管理工具,可远程连接服务器上的 DM 数据库:
- 打开 DM 管理工具,点击 “新建连接”;
- 输入连接信息:
- 连接名:自定义(如 DM8_TEST);
- 主机名:服务器 IP 地址;
- 端口:5236;
- 用户名:SYSDBA;
- 密码:SYSDBA001;
- 点击 “确定”,若连接成功,会显示数据库对象(如表空间、用户等),验证完成。
五、常见问题与解决方案
在安装过程中,可能会遇到以下问题,这里提供对应的解决方法:
1. 安装程序无法启动,提示 “libaio.so.1: cannot open shared object file”
原因:缺少libaio依赖包。
解决:执行yum install -y libaio-devel安装依赖。
2. 初始化实例时提示 “磁盘空间不足”
原因:指定的数据库存储路径(如/opt/dmdbms/data)空闲空间不足。
解决:更换存储路径(如/data/dmdata),需确保新路径有足够空间且 dmdba 用户有读写权限。
3. 服务启动失败,提示 “dm.ini 文件不存在”
原因:注册服务时指定的dm.ini路径错误。
解决:重新注册服务,确保-dm_ini参数指向正确的dm.ini文件(如/opt/dmdbms/data/DMDB/dm.ini)。
4. 客户端连接失败,提示 “连接超时”
原因:服务器防火墙未关闭,或端口未开放。
解决:关闭防火墙(systemctl stop firewalld),或开放 5236 端口(firewall-cmd --add-port=5236/tcp --permanent && firewall-cmd --reload)。
5. 登录时提示 “密码错误”
原因:默认密码输入错误(DM8 默认密码为SYSDBA001,区分大小写)。
解决:确认密码正确性,若忘记密码,可通过dmctlcvt工具重置(需 root 权限)。
六、总结
本文详细介绍了 DM8 数据库在 Linux 系统下的安装流程,从环境准备、图形化 / 命令行安装,到实例初始化、服务启动和连接验证,覆盖了安装过程中的关键步骤和常见问题。DM 数据库作为国产数据库的代表,其安装流程与 Oracle 等国外数据库类似,但需注意系统依赖和内核参数配置。
后续可进一步学习 DM 数据库的用户管理、表空间配置、备份恢复等功能,若在安装过程中遇到其他问题,可参考达梦官方文档(https://eco.dameng.com/document/)或在达梦社区提问。希望本文能帮助大家顺利完成 DM 数据库的安装部署!