达梦数据库之 CentOS 7.9 安装
官方文档:https://eco.dameng.com/document/dm/zh-cn/start/install-dm-linux-prepare.html
安装前准备
操作系统 | CPU | 数据库 |
---|---|---|
CentOS7 | x86_64 架构 | https://eco.dameng.com/download/ |
下载达梦 x86_rehl7 平台下的安装文件,比如:dm8_20250122_x86_rh7_64.zip。
shell
cd /home
# 下载并显示进度
curl -# -o dm8_20250122_x86_rh7_64.zip https://download.dameng.com/eco/adapter/DM8/202502/dm8_20250122_x86_rh7_64.zip
# 把 .iso 文件从 .zip 中解压出来(压缩包里主要包含一个 .iso 文件)
# 注意:-o:表示解压到指定目录,并且 -o 和 /home/dm_install 之间一定不能有空格,否则命令报错。
7z x dm8_20250122_x86_rh7_64.zip -o/home/dm_install
cd /home/dm_install
# 从 .iso 文件中提取 DMInstall.bin 安装文件
7z x dm8_20250122_x86_rh7_64.iso -o/home/dm_install/iso
cd /home/dm_install/iso
# iso 中包含以下两个文件
-rw-r--r--. 1 root root 3011770 Jan 22 07:57 'DM8 Install.pdf'
-rwxr-xr-x. 1 root root 994897045 Jan 22 09:00 DMInstall.bin
# 增加可执行权限
chmod +x DMInstall.bin
注意:如果系统中还没有安装 p7zip p7zip-plugins 工具,可参考【Docker 通过 OpenEuler 镜像安装达梦数据库】文档。
创建用户组和用户
shell
# 先切换到 root 用户创建用户组和用户
su - root
# 创建用户所在的组(组名称:dinstall)
groupadd dinstall -g 2001
# 创建用户(dmdba)并添加倒用户组 dinstall
useradd -G dinstall -m -d /home/dmdba -s /bin/bash -u 2001 dmdba
# 修改用户密码(然后输入两次密码即可。比如:dmdba)
# 如果提示 BAD PASSWORD: The password is shorter than 8 characters,则可以忽略,也可以换一个复杂的密码。
passwd dmdba
# 然后手动输入两次密码
dameng@123
# 控制台有以下提示
passwd: all authentication tokens updated successfully.
修改文件打开最大数
shell
su root
vi /etc/security/limits.conf
在文件最后添加如下语句:
text
dmdba soft nice 0
dmdba hard nice 0
dmdba soft as unlimited
dmdba hard as unlimited
dmdba soft fsize unlimited
dmdba hard fsize unlimited
dmdba soft nproc 65536
dmdba hard nproc 65536
dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba soft core unlimited
dmdba hard core unlimited
dmdba soft data unlimited
dmdba hard data unlimited
然后保存,并重启系统。
shell
# 如果在 docker 容器中,先退出 docker
docker restart dm8
docker exec -it --user root dm8 /bin/bash
docker exec -it --user dmdba dm8 /bin/bash
shell
# 切换到 dmdba 用户,查看是否生效
su - dmdba
ulimit -a
# 以下两个得到的数值变大了就行
ulimit -n
ulimit -u
目录规划
本节跳过。
官网文档中有这一章节,老版本确实需要,但对于新版本没啥用,新版本一些文件结构都变了。
数据库安装
挂载镜像
本节跳过。
前面已通过 p7zip 工具解压 .iso 文件代替 mount 挂载镜像了。因为如果在 docker 容器中使用 mount 挂载总是报错,不知道为啥。
命令行安装
shell
su - root
cd /home/dm_install/iso
# 安装数据库(根据提示选择即可)
./DMInstall.bin -i
# 注:选择英文安装,则下面的提示都是对应的英文。
# 请选择安装语言(英文): 2 如果选择中文的话,需要系统环境支持中文,不然后面全是乱码。
# 是否输入Key文件路径?: n
# 是否设置时区?: y
# 请选择时区: 21
# 安装类型(典型安装), 1
# 请选择安装目录 [/opt/dmdbms]: 这里使用默认路径,直接回车即可。
# 直到提示安装结束(默认就安装在了 /opt/dmdbms 目录下)
End
配置实例
注:配置实例需要使用 dmdba 用户。
shell
# 如果是在 docker 容器中,则需要退出容器,再通过指定用户的方式进入容器来切换用户。
docker exec -it --user dmdba dm8 /bin/bash
shell
su - dmdba
cd /opt/dmdbms/bin
# 使用 dminit 命令初始化实例,dminit 命令可设置多种参数
./dminit help
# 配置(主要设置 SYSDBA 和 SYSAUDITOR_PWD 用户的密码)。其它项使用默认配置:比如:
# DB_NAME=DAMENG INSTANCE_NAME=DMSERVER PORT_NUM=5236 CHARSET=0 CASE_SENSITIVE=Y
./dminit SYSDBA_PWD=sysdba123DM SYSAUDITOR_PWD=sysdba123DM
# 执行后就会提示一个数据库的过期时间
file dm.key not found, use default license!
License will expire on 2026-01-17
# 如果不指定 path 参数, dminit 工具会自动生成一个 dm.ini 配置文件。
# 一般在:/opt/dmdbms/bin/DAMENG/dm.ini
# 也可以通过 find 命令去查找
find / -name dm.ini
注册服务(开机自启)
注册服务脚本为 dm_service_installer.sh,用户可以使用注册服务脚本将服务脚本注册成为操作系统服务。
shell
su - root
# docker exec -it --user root dm8 /bin/bash
cd /opt/dmdbms/script/root/
# 里面包含如下两个脚本
-rwxr-xr-x. 1 dmdba dmdba 27537 Mar 19 03:07 dm_service_installer.sh
-rwxr-xr-x. 1 dmdba dmdba 9408 Mar 19 03:07 dm_service_uninstaller.sh
./dm_service_installer.sh help
# -t:注册服务类型,支持以下服务类型:dmap、dmamon、dmserver、dmwatcher、dmmonitor、dmasmsvr、dmasmsvrm、dmcss、dmcssm。
# -p: -p 参数为服务名后缀,比如指定为 DAMENG 服务名就是:DmServiceDAMENG
./dm_service_installer.sh -t dmserver -p DAMENG -dm_ini /opt/dmdbms/bin/DAMENG/dm.ini
# 执行完毕后有提示
Move the service script file(/opt/dmdbms/bin/DmServiceDAMENG to /etc/rc.d/init.d/DmServiceDAMENG)
Finished to create the service (DmServiceDAMENG)
# 所以在这个目录下就能找到启动数据库的脚本
/etc/rc.d/init.d/DmServiceDAMENG
启动停止数据库
注:如果是 docker 容器中安装,前面已经设置为开机自启了,只要启动容,就会自动启动数据库服务。
本章节只针对物理机上手动启动数据库服务的场景。
shell
su -dmdba
# 进入 DmServiceDAMENG 启动脚本所在目录
cd /etc/rc.d/init.d
# 启动
./DmServiceDAMENG start
# 查看数据库状态
./DmServiceDAMENG status
# 重新启动
./DmServiceDAMENG restart
# 停止
./DmServiceDAMENG stop
安装完成。
删除遗留安装包
shell
cd /home
rm -rf dm8_20250122_x86_rh7_64.zip
rm -rf dm_install
使用客户端工具连接
text
用户名:SYSDBA 和 SYSAUDITOR_PWD
密码:sysdba123DM
端口:5236
温馨提示:如果主机开启了防火墙,需要开放指定的端口,这里是 5236。
安装日志
shell
cd /opt/dmdbms/log
创建用户和授权角色
shell
drop user VTL_TEST cascade;
create user VTL_TEST identified by "1qaz2wsx";
# grant 时注意和 oracle 的区别,oracle 是:grant "CONNECT","RESOURCE" to "VTL_TEST";
grant "PUBLIC","RESOURCE" to "VTL_TEST";
grant "DBA" to "VTL_TEST";
# 修改密码
ALTER user VTL_TEST identified by "1qaz2wsx";