目录
🌲 前言 对于常年占据国产数据库排行榜前三的 达梦 数据库,早已 “垂涎a已久” (¯﹃¯)!
要想学习一门数据库技术,第一步当然是要安装数据库,然后才能学习使用它,顺便记录下作者的安装初体验!❤️
💬 介绍 达梦数据库管理系统(以下简称DM)是基于客户/服务器方式的数据库管理系统,可以安装在多种计算机操作系统平台上,典型的操作系统有:
Windows(Windows2000/2003/XP/Vista/7/8/10/Server等)
Linux
HP-UNIX
Solaris
FreeBSD
AIX
对于不同的系统平台,有不同的安装步骤。
根据不同的应用需求与配置,DM提供了多种不同的产品系列:
标准版Standard Edition
企业版Enterprise Edition
安全版Security Edition
相较于 Oracle 的全英文官方文档来说,达梦的官方文档就显得亲切多了,一眼看去就很喜欢!❤️
作为一款热门的国产数据库,对于平台的支持必然是广泛的。下面👇🏻列出一些安装部署基础要求:
名称
要求
CPU
Intel Pentium4(建议Pentium 41.6G以上)处理器
内存
256M(建议512M以上)
硬盘
5G以上可用空间
网卡
10M以上支持TCP/IP协议的网卡
操作系统
Windows(简体中文服务器版sp2以上)/Linux(glibc2.3以上,内核2.6,已安装KDE/GNOME桌面环境,建议预先安装UnixODBC组件)
💦 安装介质 下载 🔥 达梦8安装包 达梦官方提供的最新版本为DM8,可以直接下载:
达梦8的数据库安装介质下载地址: https://eco.dameng.com/download
💥 Centos7 box Linux操作系统我选择的是 centos7,打算使用 vagrant 进行安装:
centos7 box镜像下载地址: https://app.vagrantup.com/luciferliu/boxes/centos7.9
至此,安装介质都准备好了!
🏆 Linux 下 DM 的安装
操作系统
CPU
数据库
CentOS7
x86_64 架构
dm8_20210630_x86_rh6_64_ent
🍭 Centos7 环境安装 vagrant 启动 centos7 进入自定义目录启动主机:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 mkdir -p /Volumes/DBA/dm8 cd /Volumes/DBA/dm8## vagrant 初始化 vagrant init luciferliu/centos7.9## vagrant 创建并启动主机 vagrant up AI写代码bash* 1* 2* 3* 4* 5* 6
如上图所示,Centos7.9 的主机就已经启动了,下面我们连接并且上传 DM8 安装包。
上传安装介质 将 DM8 安装包拷贝到当前 /Volumes/DBA/dm8 目录下,使用 vagrant ssh 连接主机:
1 2 3 4 5 6 7 8 9 cd /Volumes/DBA/dm8cp /Users/lpc/Downloads/dm8_20210630_x86_rh6_64_ent.zip . AI写代码bash * 1 * 2 * 3
初始化配置 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 vagrant ssh echo dm | sudo passwd --stdin root su - root hostnamectl set-hostname dm8 && exec bash timedatectl set-timezone Asia /Shanghai echo 'export LANG=zh_CN.UTF-8' >> /etc /profile mkdir /soft cp /vagrant /dm8_20210630_x86_rh6_64_ent .zip /soft yum install -y unzip lsb *cd /soft unzip dm8_20210630_x86_rh6_64_ent .zip AI 写代码bash * 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 * 11 * 12 * 13 * 14 * 15 * 16 * 17 * 18 * 19 * 20 * 21
如上图所示,DM8 安装包已解压至至主机 /soft 目录下。
🍰 安装前准备 用户在安装DM之前需要检查或修改操作系统的配置,以保证 DM 正确安装和运行。
检查Linux(Unix)系统信息 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ## 获取系统位数 getconf LONG_BIT ## 查询操作系统release信息 lsb_ release -a## 查询系统信息 cat /etc/issue## 查询系统名称 uname -a AI写代码bash* 1* 2* 3* 4* 5* 6* 7* 8
创建安装用户 为了减少对操作系统的影响,用户不应该以root系统用户来安装和运行DM。用户可以在安装之前为DM创建一个专用的系统用户。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ## 创建 dinstall 组 groupadd -g 12349 dinstall## 创建 dmdba 用户 useradd -u 12345 -g dinstall -m -d /home/dmdba -s /bin/bash dmdba## 修改 dmdba 用户密码 echo dmdba | passwd --stdin dmdba AI写代码bash* 1* 2* 3* 4* 5* 6
创建安装目录及授权 1 2 3 4 5 6 7 8 9 10 11 mkdir /dmmkdir -p /dm{arch ,bak,data}chown -R dmdba.dinstall /dm /soft /dmdata /dmarch /dmbakchmod -R 775 /dm{arch ,bak,data} /dm AI写代码bash * 1 * 2 * 3 * 4
关闭防火墙和Selinux 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ## 关闭防火墙 systemctl stop firewalld.service systemctl disable firewalld.service## 关闭selinux setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config AI写代码bash* 1* 2* 3* 4* 5* 6
关闭透明大页和numa Linux6:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 cat >>/etc/rc.d /rc.local <<EOFif test -f /sys/kernel/mm/transparent_hugepage/enabled; then echo never > /sys/kernel/mm/transparent_hugepage/enabled fiif test -f /sys/kernel/mm/transparent_hugepage/defrag; then echo never > /sys/kernel/mm/transparent_hugepage/defrag fi AI写代码bash
Linux7:
1 2 3 4 5 6 7 sed -i 's/quiet/quiet transparent_hugepage=never numa=off/' /etc/default/grub grub2-mkconfig -o /boot/grub2/grub.cfg AI写代码bash * 1 * 2
配置系统参数 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 cat <<EOF >>/etc/sysctl.conf fs.aio-max-nr = 1048576 fs.file -max = 6815744 #kernel.shmall = 2097152 #kernel.shmmax = 536870912 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128net .ipv4.ip_local_port_range = 9000 65500net .core.rmem_default = 262144net .core.rmem_max = 4194304net .core.wmem_default = 262144net .core.wmem_max = 1048576 vm.swappiness = 0 vm.dirty_background_ratio = 3 vm.dirty_ratio = 80 vm.dirty_expire_centisecs = 500 vm.dirty_writeback_centisecs = 100 EOF ## 激活参数配置 sysctl -p AI写代码bash
配置操作系统限制 在Linux(Unix)系统中,因为ulimit命令的存在,会对程序使用操作系统资源进行限制。为了使DM能够正常运行,建议用户检查当前安装用户的ulimit参数。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 ## 配置pam.d cat <<EOF >>/etc/pam.d /login session required pam_limits.so session required /lib64/security/pam_limits.so EOF ## 查看 pam.d cat /etc/pam.d /login | grep -v "^$" | grep -v "^#" ## 查看操作系统资源限制 ulimit -a ## 解除 nice,as fsize,nproc,nofile,core,data 限制cat <<EOF>>/etc/security/limits.conf dmdba - nice 0 dmdba - as unlimited dmdba - fsize unlimited dmdba - nproc 131072 dmdba - nofile 131072 dmdba - core unlimited dmdba - data unlimited root - nice 0 root - as unlimited root - fsize unlimited root - nproc 131072 root - nofile 131072 root - core unlimited root - data unlimited EOF ## 检查配置文件cat /etc/security/limits.conf | grep -v "^$" | grep -v "^#" ## 查看 dmdba 用户的资源限制su - dmdba -c "ulimit -a" AI写代码bash
检查系统内存 为了保证DM的正确安装和运行,要尽量保证操作系统至少1GB的可用内存(RAM)。如果可用内存过少,可能导致DM安装或启动失败。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ## 获取内存总大小 grep MemTotal /proc/meminfo## 获取交换分区大小 grep SwapTotal /proc/meminfo## 获取内存使用详情 free -m AI写代码bash* 1* 2* 3* 4* 5* 6
检查存储空间 DM完全安装需要1GB的存储空间,用户需要提前规划好安装目录,预留足够的存储空间。用户在DM安装前也应该为数据库实例预留足够的存储空间,规划好数据路径和备份路径。
1 2 3 4 5 6 7 8 9 10 11 df -h /dmdf -h /tmp AI写代码bash * 1 * 2 * 3 * 4
配置环境变量 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 cat <<EOF>>/home/dmdba/.bash_profile umask 022export TMP =/tmpexport TMPDIR =\$TMPexport DM_HOME ="/dm" export LD_LIBRARY_PATH ="\$LD_LIBRARY_PATH:\$DM_HOME/bin" export PATH =/usr/sbin:\$PATHexport PATH =\$DM_HOME/bin:\$PATHexport PS1 ="[\`whoami\`@\`hostname\`:" '\$PWD]\$ ' alias ds ='disql sysdba' EOF cat /home/dmdba/.bash_profile | grep -v "^$" | grep -v "^#" AI写代码bash * 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 * 11 * 12 * 13 * 14
🍯 安装 DM8 数据库 安装同时支持图形化安装,命令行安装,静默安装三种方式。由于我没有安装图形化界面,因此使用 命令行安装 方式进行安装。
用户应登录或切换到安装系统用户,进行以下安装步骤的操作(注:不建议使用root系统用户进行安装)。
挂载 DM ISO 镜像 官网下载的 DM8 安装包解压下来是一个 ISO 镜像文件,因此需要挂载取出安装文件,才能开始安装。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 cd /soft/dm8_20210630_x86_rh6_64_ent mount -o loop dm8_20210630_x86_rh6_64_ent_8.1.2.18_pack7.iso /optcp /opt/DM* /soft umount /optchown -R dmdba:dinstall /softchmod -R 775 /soft ll /soft AI写代码bash * 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 * 11
命令行安装 1、执行安装命令:
1 2 3 4 5 6 7 8 9 10 11 12 13 ## 切换至 dmdba 用户 su - dmdba cd /soft/## 执行命令行安装 ./DMInstall.bin -i AI写代码bash* 1* 2* 3* 4* 5
2、按需求选择安装语言,默认为中文。本地安装选择【不输入 Key 文件】,选择【默认时区 21】。
3、选择【1-典型安装】,按已规划的安装目录 /dm 完成数据库软件安装,不建议使用默认安装目录。
4、root 用户执行 root 脚本:
1 2 3 4 5 6 7 su - root /dm/script/root/root_installer.sh AI写代码bash
命令行配置实例 使用 dmdba 用户配置实例,使用 dminit 命令初始化实例。
1 2 3 4 5 6 7 8 9 su - dmdba## 使用默认参数初始化实例,需要附加实例存放路径 /dmdata dminit path=/dmdata AI写代码bash* 1* 2* 3
📢 注意:dminit 命令可设置多种参数,可执行如下命令查看可配置参数。
需要注意的是 页大小 (PAGE_SIZE)、簇大小 (EXTENT_SIZE)、大小写敏感 (CASE_SENSITIVE)、字符集 (CHARSET/UNICODE_FLAG)、VARCHAR类型长度(LENGTH_IN_CHAR) 这几个参数,一旦确定无法修改,需谨慎设置。
EXTENT_SIZE 数据文件使用的簇大小(16),可选值:16, 32, 64,单位:页,缺省使用 16 页。指数据文件使用的簇大小,即每次分配新的段空间时连续的页数。
PAGE_SIZE 数据页大小(8),可选值:4, 8, 16, 32,单位:K,选择的页大小越大,则 DM 支持的元组长度也越大,但同时空间利用率可能下降,缺省使用 8 KB。
CASE_SENSITIVE 大小敏感(Y),可选值:Y/N,1/0,默认值为 Y 。当大小写敏感时,小写的标识符应用双引号括起,否则被转换为大写;当大小写不敏感时,系统不自动转换标识符的大小写,在标识符比较时也不区分大小写,只能是 Y、y、N、n、1、0 之一。
CHARSET/UNICODE_FLAG 字符集(0),可选值:0[GB18030],1[UTF-8],2[EUC-KR];1 代表 UTF-8;2 代表韩文字符集 EUC-KR;取值 0、1 或 2 之一。默认值为 0。
LENGTH_IN_CHAR VARCHAR类型长度是否以字符为单位(N),可选值:Y/N,1/0。
以下命令设置页大小为 32 KB,簇大小为 32 KB,大小写敏感,字符集为 utf_8,数据库名为 DMDB,实例名为 LUCIFER,端口为 5237。
1 2 3 4 5 dminit path =/dmdata PAGE_SIZE =32 EXTENT_SIZE =32 CASE_SENSITIVE =y CHARSET =1 DB_NAME =DMDB INSTANCE_NAME =LUCIFER AI写代码bash * 1
命令行注册服务 注册服务需使用 root 用户进行注册。使用 root 用户进入数据库安装目录的 /script/root 下,如下所示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 cd /dm/script/root ## 注册服务 ./dm_service_installer.sh -t dmserver -dm_ini /dmdata/DMDB/dm.ini -p DMSERVER ## 配置服务开机自启 systemctl enable DmServiceDMSERVER.service ## 开启服务 systemctl start DmServiceDMSERVER.service ## 查看服务状态 systemctl status DmServiceDMSERVER.service AI写代码bash
命令行启停数据库 服务注册成功后,启停数据库,如下所示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 cd /dm8/bin## 查看当前数据库服务状态 systemctl status DmServiceDMSERVER.service## 关闭数据库 systemctl stop DmServiceDMSERVER.service## 打开数据库 systemctl start DmServiceDMSERVER.service 或者 dmserver /dmdata/DMDB/dm.ini## 重启数据库 systemctl restart DmServiceDMSERVER.service AI写代码bash* 1* 2* 3* 4* 5* 6* 7* 8* 9* 10* 11
也可以通过以下命令执行:
1 2 3 4 5 DmServiceDMSERVER start /stop /restart/status AI写代码bash * 1
连接访问数据库 1 2 3 4 5 disql sysdba AI写代码bash * 1
🥈 Docker 下 DM 的安装 🏈 安装前准备
软硬件
版本
终端
X86-64 架构
Docker
19.0 及以上版本
🏀 下载 Docker 安装包 1 2 3 4 5 6 7 8 9 10 11 12 13 mkdir -p /Volumes/DBA/dm8cd /Volumes/DBA/dm8 wget -O dm8_docker.tar -c https://download.dameng.com/eco/dm8/dm8_docker.tar AI写代码bash * 1 * 2 * 3 * 4 * 5
⚽️ 导入镜像 下载完成后,导入安装包,打开 docker ,使用如下命令:
1 2 3 4 5 docker import dm8_docker.tar dm8:v01AI 写代码bash * 1
导入完成后,可以使用 docker images 来查看导入的镜像,命令如下:
1 2 3 4 5 docker images AI写代码bash* 1
查看结果如下:
⚾️ 启动容器 镜像导入后,使用 docker run 来启动容器,默认的端口 5236 默认的账号密码 ,启动命令如下:
1 2 3 4 5 docker run -itd -p 5236:5236 --name dm8_01 dm8:v01 /bin/bash /startDm.sh AI写代码bash * 1
容器启动完成后,使用 docker ps 来查看镜像的启动情况,命令如下:
1 2 3 4 5 docker ps AI写代码bash* 1
启动完成后,可以查看日志来查看启动情况,命令如下:
1 2 3 4 5 docker logs -f dm8_01 AI写代码bash* 1
显示内容如下,则表示启动成功。
🎾 数据库启停 命令如下:
1 2 3 4 5 docker stop /start /restart dm8_01 AI写代码bash * 1
🎱 连接 docker 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 ## 获取容器 ID docker ps## 连接容器 docker exec -it acd3a2211b52 /bin/bash## 切换 dmdba 用户 su - dmdba## 连接数据库 cd /dm8/bin ./disql AI写代码bash* 1* 2* 3* 4* 5* 6* 7* 8* 9
📢 注意:如果使用docker容器里面的 disql ,进入容器后,先执行 source /etc/profile 防止中文乱码。
🏅 Windows 下 DM 的安装 🍎 安装前准备 检查系统信息 用户在安装 DM 数据库前,需要检查当前操作系统的相关信息,确认 DM 数据库安装程序与当前操作系统匹配,以保证 DM 数据库能够正确安装和运行。
用户可以在终端通过 Win+R 打开运行窗口,输入 cmd,打开命令行工具,输入 systeminfo 命令进行查询,如下图所示:
检查系统内存 为了保证 DM 数据库的正确安装和运行,要尽量保证操作系统至少 1 GB 以上的可用内存 (RAM)。如果可用内存过少,可能导致 DM 数据库安装或启动失败。
用户可以通过【任务管理器】查看可用内存,如下图所示:
检查存储空间 DM 完全安装需要至少 1 GB 以上的存储空间,用户需要提前规划好安装目录,预留足够的存储空间。
用户在 DM 安装前也应该为数据库实例预留足够的存储空间,规划好数据路径和备份路径。
🍉 安装 DM8 数据库 上传安装包,解压挂载,复制出安装文件,开始安装!
选择语言与时区 双击运行【setup.exe】安装程序,请根据系统配置选择相应语言与时区,点击【确定】按钮继续安装。如下图所示:
安装向导 点击【下一步】按钮继续安装,如下图所示:
许可证协议 在安装和使用 DM 数据库之前,需要用户阅读并接受许可证协议,如下图所示:
查看版本信息 用户可以查看 DM 服务器、客户端等各组件相应的版本信息。
验证 Key 文件环节可跳过,如果没有 Key 文件,点击【下一步】即可。
选择安装组件 DM 安装程序提供四种安装方式:“典型安装”、“服务器安装”、“客户端安装”和“自定义安装”,此处建议选择【典型安装】,如下图所示:
典型安装包括:服务器、客户端、驱动、用户手册、数据库服务。
服务器安装包括:服务器、驱动、用户手册、数据库服务。
客户端安装包括:客户端、驱动、用户手册。
自定义安装包括:用户根据需求勾选组件,可以是服务器、客户端、驱动、用户手册、数据库服务中的任意组合。
选择安装目录 DM 默认安装在 C:\dmdbms 目录下,不建议使用默认目录,改为其他任意盘符即可,以 E:\dmdbs 为例,如下图所示:
这里我只有一个 C 盘,因此直接默认安装!
📢 注意:安装路径里的目录名由英文字母、数字和下划线等组成,不建议使用包含空格和中文字符的路径等。
安装前小结 显示用户即将进行的数据库安装信息,例如产品名称、版本信息、安装类型、安装目录、可用空间、可用内存等信息,用户检查无误后点击【安装】按钮进行 DM 数据库的安装,如下图所示:
数据库安装 安装过程需耐心等待 1~2 分钟,如下图所示:
数据库安装完成 数据库安装完成后,请选择【初始化】数据库:
🍏 配置实例 选择操作方式 此处建议选择【创建数据库实例】,点击【开始】进入下一步骤,如下图所示:
创建数据库模板 此处建议选择【一般用途】即可,如下图所示:
选择数据库目录 本例中数据库安装路径为 C:\dmdbs,如下图所示:
输入数据库标识 输入数据库名称、实例名、端口号等参数,如下图所示:
数据库文件所在位置 此处选择默认配置即可,如下图所示:
用户可通过选择或输入确定数据库控制、数据库日志等文件的所在位置,并可通过右侧功能按钮,对文件进行添加或删除。
数据库初始化参数 此处选择默认配置即可,如下图所示:
用户可输入数据库相关参数,如簇大小、页大小、日志文件大小、选择字符集、是否大小写敏感等。
常见参数说明:
EXTENT_SIZE 数据文件使用的簇大小 (16),可选值: 16、 32、 64,单位:页
PAGE_SIZE 数据页大小 (8),可选值: 4、 8、 16、 32,单位: KB
LOG_SIZE 日志文件大小 (256),单位为: MB,范围为: 64 MB~2 GB
CASE_SENSITIVE 大小敏感 (Y),可选值: Y/N, 1/0
CHARSET/UNICODE_FLAG 字符集 (0),可选值: 0[GB18030], 1[UTF-8], 2[EUC-KR]
口令管理 此处选择默认配置即可,默认口令与登录名一致,如下图所示:
用户可输入 SYSDBA,SYSAUDITOR 的密码,对默认口令进行更改,如果安装版本为安全版,将会增加 SYSSSO 用户的密码修改。
选择创建示例库 此处建议勾选创建示例库 BOOKSHOP 或 DMHR,作为测试环境,如下图所示:
创建数据库摘要 在安装数据库之前,将显示用户通过数据库配置工具设置的相关参数。点击【完成】进行数据库实例的初始化工作,如下图所示:
安装完成 安装完成后将弹出数据库相关参数及文件位置。点击【完成】即可,如下图所示:
数据库启停 数据库安装路径下 tool 目录,双击运行 dmservice.exe 程序可以查看到对应服务,选择【启动】或【停止】服务。如下图所示:
当然,也可以通过 cmd 命令行进行启动:
1 2 3 4 5 6 7 cd C :\dmdbms\bin dmserver.exe C :\dmdbms\data\DAMENG\dm.ini AI写代码bash * 1 * 2
🎯 写在最后 达梦8 数据库安装总体来说,还算简单。但是有一说一,官方文档确实比较简单,不够细致,有待改进!