达梦 DM8 数据库安装详细手册(Windows+Linux+Docker)(一)

本文涉及的产品
运维安全中心(堡垒机),免费版 6个月
简介: 达梦 DM8 数据库安装详细手册(Windows+Linux+Docker)(一)

前言

对于常年占据国产数据库排行榜前三的 达梦 数据库,早已 “垂涎a已久” (¯﹃¯)!

image.png


要想学习一门数据库技术,第一步当然是要安装数据库,然后才能学习使用它,顺便记录下作者的安装初体验!❤️


💬 介绍

达梦数据库管理系统(以下简称DM)是基于客户/服务器方式的数据库管理系统,可以安装在多种计算机操作系统平台上,典型的操作系统有:


  • Windows(Windows2000/2003/XP/Vista/7/8/10/Server等)
  • Linux
  • HP-UNIX
  • Solaris
  • FreeBSD
  • AIX

对于不同的系统平台,有不同的安装步骤。


根据不同的应用需求与配置,DM提供了多种不同的产品系列:


  • 标准版Standard Edition
  • 企业版Enterprise Edition
  • 安全版Security Edition

相较于 Oracle 的全英文官方文档来说,达梦的官方文档就显得亲切多了,一眼看去就很喜欢!❤️

image.png


作为一款热门的国产数据库,对于平台的支持必然是广泛的。下面👇🏻列出一些安装部署基础要求:

名称

要求

CPU

Intel Pentium4(建议Pentium 41.6G以上)处理器

内存

256M(建议512M以上)

硬盘

5G以上可用空间

网卡

10M以上支持TCP/IP协议的网卡

操作系统

Windows(简体中文服务器版sp2以上)/Linux(glibc2.3以上,内核2.6,已安装KDE/GNOME桌面环境,建议预先安装UnixODBC组件)


💦 安装介质下载

🔥 达梦8安装包

达梦官方提供的最新版本为DM8,可以直接下载:

image.png


达梦8的数据库安装介质下载地址:https://eco.dameng.com/download


💥 Centos7 box

Linux操作系统我选择的是 centos7,打算使用 vagrant 进行安装:

image.png


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

进入自定义目录启动主机:

mkdir -p /Volumes/DBA/dm8
cd /Volumes/DBA/dm8
## vagrant 初始化
vagrant init luciferliu/centos7.9
## vagrant 创建并启动主机
vagrant up

image.png

如上图所示,Centos7.9 的主机就已经启动了,下面我们连接并且上传 DM8 安装包。


上传安装介质

将 DM8 安装包拷贝到当前 /Volumes/DBA/dm8 目录下,使用 vagrant ssh 连接主机:

## 拷贝 DM 安装包
cd /Volumes/DBA/dm8
cp /Users/lpc/Downloads/dm8_20210630_x86_rh6_64_ent.zip .

image.png

初始化配置

## 连接主机
vagrant ssh
## 修改 root 用户密码,密码为 dm
echo dm | sudo passwd --stdin root
## 切换至 root 用户
su - root
## 修改主机名
hostnamectl set-hostname dm8 && exec bash
## 配置时区
timedatectl set-timezone Asia/Shanghai
## 配置系统中文
echo 'export LANG=zh_CN.UTF-8' >> /etc/profile
## 创建 DM 软件包目录
mkdir /soft
## 拷贝 DM 安装包至软件包目录
cp /vagrant/dm8_20210630_x86_rh6_64_ent.zip /soft
## 安装 unzip 和 lsb_release
yum install -y unzip lsb*
## 解压 DM 安装包
cd /soft
unzip dm8_20210630_x86_rh6_64_ent.zip

image.png

如上图所示,DM8 安装包已解压至至主机 /soft 目录下。


🍰 安装前准备

用户在安装DM之前需要检查或修改操作系统的配置,以保证 DM 正确安装和运行。


检查Linux(Unix)系统信息

## 获取系统位数
getconf LONG_BIT
## 查询操作系统release信息
lsb_release -a
## 查询系统信息
cat /etc/issue
## 查询系统名称
uname -a

image.png

创建安装用户

为了减少对操作系统的影响,用户不应该以root系统用户来安装和运行DM。用户可以在安装之前为DM创建一个专用的系统用户。

## 创建 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

image.png


创建安装目录及授权

mkdir /dm
mkdir -p /dm{arch,bak,data}
chown -R dmdba.dinstall /dm /soft /dmdata /dmarch /dmbak
chmod -R 775 /dm{arch,bak,data} /dm

image.png

image.png

关闭防火墙和Selinux

## 关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
## 关闭selinux
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

image.png

关闭透明大页和numa

Linux6:

cat >>/etc/rc.d/rc.local <<EOF
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi


Linux7:

sed -i 's/quiet/quiet transparent_hugepage=never numa=off/' /etc/default/grub
grub2-mkconfig -o /boot/grub2/grub.cfg

image.png


配置系统参数

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 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.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

image.png

配置操作系统限制

在Linux(Unix)系统中,因为ulimit命令的存在,会对程序使用操作系统资源进行限制。为了使DM能够正常运行,建议用户检查当前安装用户的ulimit参数。

## 配置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"

image.png

image.png

检查系统内存

为了保证DM的正确安装和运行,要尽量保证操作系统至少1GB的可用内存(RAM)。如果可用内存过少,可能导致DM安装或启动失败。

## 获取内存总大小
grep MemTotal /proc/meminfo
## 获取交换分区大小
grep SwapTotal /proc/meminfo
## 获取内存使用详情
free -m

image.png


检查存储空间

DM完全安装需要1GB的存储空间,用户需要提前规划好安装目录,预留足够的存储空间。用户在DM安装前也应该为数据库实例预留足够的存储空间,规划好数据路径和备份路径。

## 查询目录 /dm 可用空间
df -h /dm
## /tmp目录保证1GB的存储空间
df -h /tmp

image.png


配置环境变量

## 配置 dmdba 环境变量
cat <<EOF>>/home/dmdba/.bash_profile
umask 022
export TMP=/tmp
export TMPDIR=\$TMP
export DM_HOME="/dm"
export LD_LIBRARY_PATH="\$LD_LIBRARY_PATH:\$DM_HOME/bin"
export PATH=/usr/sbin:\$PATH
export PATH=\$DM_HOME/bin:\$PATH
export PS1="[\`whoami\`@\`hostname\`:"'\$PWD]\$ '
alias ds='disql sysdba'
EOF
## 查看环境变量
cat /home/dmdba/.bash_profile | grep -v "^$" | grep -v "^#"

image.png

🍯 安装 DM8 数据库

安装同时支持图形化安装,命令行安装,静默安装三种方式。由于我没有安装图形化界面,因此使用 命令行安装 方式进行安装。


用户应登录或切换到安装系统用户,进行以下安装步骤的操作(注:不建议使用root系统用户进行安装)。

挂载 DM ISO 镜像

官网下载的 DM8 安装包解压下来是一个 ISO 镜像文件,因此需要挂载取出安装文件,才能开始安装。

## 挂载 DM iso 镜像文件
cd /soft/dm8_20210630_x86_rh6_64_ent
mount -o loop dm8_20210630_x86_rh6_64_ent_8.1.2.18_pack7.iso /opt
## 拷贝安装文件至 /soft
cp /opt/DM* /soft
## 取消挂载
umount /opt
## 目录授权
chown -R dmdba:dinstall /soft
chmod -R 775 /soft
ll /soft

image.png

命令行安装

1、执行安装命令:

## 切换至 dmdba 用户
su - dmdba
cd /soft/
## 执行命令行安装
./DMInstall.bin -i

image.png

2、按需求选择安装语言,默认为中文。本地安装选择【不输入 Key 文件】,选择【默认时区 21】。

image.png



3、选择【1-典型安装】,按已规划的安装目录 /dm 完成数据库软件安装,不建议使用默认安装目录。


image.png


4、root 用户执行 root 脚本:

su - root
/dm/script/root/root_installer.sh

image.png


命令行配置实例

使用 dmdba 用户配置实例,使用 dminit 命令初始化实例。

su - dmdba
## 使用默认参数初始化实例,需要附加实例存放路径 /dmdata
dminit path=/dmdata


📢 注意:dminit 命令可设置多种参数,可执行如下命令查看可配置参数。

image.png


需要注意的是 页大小 (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。

dminit path=/dmdata PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y CHARSET=1 DB_NAME=DMDB INSTANCE_NAME=LUCIFER

image.png

相关文章
|
1月前
|
Linux Docker 容器
Centos安装docker(linux安装docker)——超详细小白可操作手把手教程,包好用!!!
本篇博客重在讲解Centos安装docker,经博主多次在不同服务器上测试,极其的稳定,尤其是阿里的服务器,一路复制命令畅通无阻。
230 4
Centos安装docker(linux安装docker)——超详细小白可操作手把手教程,包好用!!!
|
25天前
|
安全 Linux 数据库连接
CentOS 7环境下DM8数据库的安装与配置
【10月更文挑战第16天】本文介绍了在 CentOS 7 环境下安装与配置达梦数据库(DM8)的详细步骤,包括安装前准备、创建安装用户、上传安装文件、解压并运行安装程序、初始化数据库实例、配置环境变量、启动数据库服务、配置数据库连接和参数、备份与恢复、以及安装后的安全设置、性能优化和定期维护等内容。通过这些步骤,可以顺利完成 DM8 的安装与配置。
156 0
|
3月前
|
PHP 虚拟化 Docker
Docker——windows10安装Docker Desktop
Docker——windows10安装Docker Desktop
294 1
|
3月前
|
Kubernetes Linux Docker
【Azure 应用服务】使用Docker Compose创建App Service遇见"Linux Version is too long. It cannot be more than 4000 characters"错误
【Azure 应用服务】使用Docker Compose创建App Service遇见"Linux Version is too long. It cannot be more than 4000 characters"错误
|
3月前
|
运维 Kubernetes Linux
docker和kubectl客户端安装Linux
通过上述步骤,您应该已经在Linux环境中成功安装了Docker和kubectl客户端。安装完成后,您可以开始使用Docker来创建和管理容器,使用kubectl来管理Kubernetes集群。这些工具的安装和使用,对于现代云原生应用的开发和运维来说,是一个基础且关键的步骤。
38 0
|
4月前
|
SQL 关系型数据库 MySQL
Windows服务器的最佳数据库是什么?
【7月更文挑战第20天】Windows服务器的最佳数据库是什么?
69 5
|
4月前
|
Ubuntu Linux 数据安全/隐私保护
Linux系统使用Docker部署Cloudreve云盘并实现远程访问
Linux系统使用Docker部署Cloudreve云盘并实现远程访问
64 0
|
3月前
|
存储 Linux Docker
Could not fetch/save url https://download.docker.com/linux/centos/docker-ce.repo
CentOS 安装Docker时,将 Docker 官方的 YUM 存储库添加到 CentOS 系统中出现错误。
496 0
|
4月前
|
Linux Docker 容器
linux 通过docker安装 elasticsearch-head
linux 通过docker安装 elasticsearch-head
66 0
|
4月前
|
Ubuntu Linux Docker
Java演进问题之Alpine Linux创建更小的Docker镜像如何解决
Java演进问题之Alpine Linux创建更小的Docker镜像如何解决