达梦官方不提供 docker 镜像了,由于要开发国产化项目,因此只能暂时在 Linux 服务器上直接安装。如果 Linux 操作系统带有图形化界面的话,安装起来很简单,参考官网即可,这里不再赘述。有的客户现场提供的 Linux 服务器不带图形化界面,因此只能使用命令行进行安装。本篇博客介绍在无图形化界面的 Linux 操作系统上使用命令行安装的过程,方便大家少走弯路。
一、下载安装包
首先访问达梦官网下载安装包,官网地址是:https://eco.dameng.com/download/
我的测试虚拟机使用的还是 CentOS7,电脑 cpu 是 x86,因此我下载 rhel7,文件名为:dm8_20250506_x86_rh7_64.zip
解压安装包 dm8_20250506_x86_rh7_64.zip 后,得到 dm8_20250506_x86_rh7_64.iso
接着解压 dm8_20250506_x86_rh7_64.iso 得到 DMInstall.bin 文件
将 DMInstall.bin 文件拷贝到 /home 目录下,使用命令 chmod 755 DMInstall.bin
赋予执行权限
二、安装前的准备
达梦数据库要求使用 dmdba 账户运行,该用户属于 dinstall 组,因此需要提前创建用户和用户组
# 创建用户组
groupadd -g 12349 dinstall
# 创建用户
useradd -u 12345 -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
# 设置用户密码
passwd dmdba
编辑 /etc/security/limits.conf 文件,确保 open files 的数量至少是 65536,在文件末尾添加如下文本(每行有 4 列):
* soft nofile 65536
* hard nofile 65536
* soft nproc 65536
* hard nproc 65536
保存修改后,运行命令 init 6
重启服务器操作系统。然后使用命令 ulimit -a
查看修改结果:
三、安装达梦8数据库
建议切换到 dmdba 用户进行安装,因为达梦数据库要求使用 dmdba 运行
# 切换成 dmdba 用户
su dmdba
# 进入 /home 目录,之前我们已经将【达梦安装包】DMInstall.bin 拷贝到 /home 目录并赋予了 755 权限
cd /home
# 使用命令行安装达梦数据库
./DMInstall.bin -i
选择安装语言,我选择 1 简体中文,其实安装成英文也没问题,只要后面配置字符集为 UTF-8,就可以存储任何字符。
由于我只是开发使用,没有 license,因此这里就不输入 Key 文件路径了,这里输入 n
接着设置时区,这里选择中国标准时间,也就是东八区的时间,这里选择 21
安装类型,如果选择【典型安装】,则会安装所有功能。
由于达梦数据库安装在服务器,且无可视化界面,因此我只安装服务端,这里我选择 2
由于使用 dmdba 用户进行安装,默认安装路径是 /home/dmdba/dmdbms ,这里就使用这个路径,最后输入 y 确认安装
安装完成后,使用命令 su
切换成 root 用户,运行脚本即可:
# 切换为 root 用户,输入正确的 root 密码,即可切换成功
su
# 执行脚本
sh /home/dmdba/dmdbms/script/root/root_installer.sh
接下来,我们需要初始化数据库实例:
# 进入达梦安装目录下的 bin 目录中
cd /home/dmdba/dmdbms/bin
# 初始化数据库实例
./dminit path=/home/dmdba/dmdbms/data PAGE_SIZE=16 EXTENT_SIZE=16 CASE_SENSITIVE=N CHARSET=1 DB_NAME=DAMENG INSTANCE_NAME=DMSERVER PORT_NUM=5236 SYSDBA_PWD=Admin@123 SYSAUDITOR_PWD=Admin@123
使用 dminit 命令初始化数据库实例,常用参数如下所示:
参数名 | 描述 |
---|---|
PATH | 初始数据库存放的路径,我这里存放在安装目录下的 data 目录中,即 /home/dmdba/dmdbms/data |
PAGE_SIZE | 数据页大小,可选值:4, 8, 16, 32,单位:K,默认是 8K |
EXTENT_SIZE | 数据文件使用的簇大小,可选值:16, 32, 64,单位:页,默认是 16页 |
CASE_SENSITIVE | 大小写敏感,可选值:Y/N,1/0,默认是 Y,我建议设置为 N(设置为大小写不敏感) |
CHARSET | 字符集,可选值:0[GB18030],1[UTF-8],2[EUC-KR],默认是 0 ,建议设置为 1(使用 UTF-8 字符集) |
DB_NAME | 数据库名,默认是 DAMENG |
INSTANCE_NAME | 实例名,默认是 DMSERVER |
PORT_NUM | 监听端口号,默认是 5236 |
SYSDBA_PWD | 设置 SYSDBA 用户密码 |
SYSAUDITOR_PWD | 设置 SYSAUDITOR 用户密码 |
由于达梦数据库安装目录是 /home/dmdba/dmdbms/
目录,因此脚本目录是 /home/dmdba/dmdbms/script/root/
# 进入脚本目录
cd /home/dmdba/dmdbms/script/root/
# 运行脚本,创建数据库实例服务
./dm_service_installer.sh -t dmserver -dm_ini /home/dmdba/dmdbms/data/DAMENG/dm.ini -p DMSERVER
使用 dm_service_installer.sh 脚本,常用参数如下:
参数 | 描述 |
---|---|
-t | 注册服务类型,支持一下服务类型:dmap、dmamon、dmserver、dmwatcher、dmmonitor、dmasmsvr、dmasmsvrm、dmcss、dmcssm |
-dm_ini | 指定服务所需要的 dm.ini 文件路径 |
-p | 指定服务名后缀,生成的操作系统服务名为“服务脚本模板名称 + 服务名后缀”。此参数只针对 dmserver、dmwatcher、dmmonitor、dmasmsvr、dmasmsvrm、dmcss、dmcssm 服务脚本生效 |
由于达梦数据库服务,必须使用 dmdba 用户运行,而我们上面都是以 root 身份执行的脚本,因此需要将达梦存放数据目录(/home/dmdba/dmdbms/data)的所属用户设置为 dmdba,用户组设置为 dinstall,否则启动服务时会报错,提示权限被拒绝。我在这个坑耗费了不少时间。
# 将达梦数据库的数据目录,从 root:root 设置为 dmdba:dinstall
chown dmdba:dinstall -R /home/dmdba/dmdbms/data
最后启动服务即可,由于服务已经设置为开机自启动,因此这里只需要启动服务即可:
# 启动服务
systemctl start DmServiceDMSERVER
# 查看服务状态
systemctl status DmServiceDMSERVER
如果想要卸载服务,需要先停掉服务,然后执行达梦安装目录下的 uninstall.,sh 脚本即可,非常简单,这里就不再赘述
# 卸载服务,先停掉服务
systemctl stop DmServiceDMSERVER
# 我的达梦数据库安装在 /home/dbdmdba/dmdbms 目录中,因此运行其下面的 uninstall.sh 脚本,按照提示输入 y 即可
sh /home/dbdmdba/dmdbms/uninstall.sh -i
四、使用客户端连接测试
访问官方网下载 windows 版的达梦安装包 https://eco.dameng.com/download/
下载后的文件名为 dm8_20250430_x86_win_64.zip,解压缩后得到 dm8_20250430_x86_win_64.iso 文件
继续解压缩 dm8_20250430_x86_win_64.iso 文件到文件夹中,点击文件夹中的 setup.exe 进行安装
安装组件选择【客户端安装】即可,我们使用客户端连接 linux 上安装的服务端
安装完成后,启动【DM管理工具】,由于我的 linux 服务器 ip 地址为 192.168.136.128,在上面的安装过程中,设置的 SYSDBA 的密码为 Admin@123,因此输入对应信息后,点击【测试连接】即可验证是否能否连接成功
连接成功后,我们可以在客户端底部,或者运行 sql 语句查看达梦数据库的有效期: