达梦数据库安装

linux达梦数据库安装

1.安装前环境准备

1.1、创建安装与运行的Linux用户

官方也明确提出,为了减少对操作系统的影响,Linux用户不应该已root用户和默认的用户组来安装与运行达梦数据库,应该为DM创建一个专用的用户组和系统用户。例如:

# 1.创建安装用户组 dmsys
[root@localhost ~]# groupadd dmsys

# 2.创建安装用户 dmdba
[root@localhost ~]# useradd -g dmsys -m -d /home/dmdba -s /bin/bash dmdba

# 3.初始化 dmdba 用户密码
[root@localhost ~]# passwd dmdba
# 按系统提示进行密码设置即可

# 3.查看用户和用户组ID
[root@localhost ~]# id dmdba
uid=1000(dmdba) gid=1000(dmsys) groups=1000(dmsys)

# 4.切换至 dmdba
[root@laizhenghua home]# su dmdba

1.2、操作系统资源限制检查

这也是官方给出的提醒,在Linux系统中,因为ulimit命令的存在,会对程序使用操作系统资源进行限制,为了使达梦数据库服务端正常运行,要适当调整当前安装用户的ulimit参数。可以使用ulimit -a命令检查,如:

[dmdba@laizhenghua home]$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 7699
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 65535
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 4096
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

我们主要看以下配置项:

  1. data seg size:建议用户设置为 1048576 (即1GB)以上或unlimited(无限制),此参数过小将导
    致数据库启动失败

  2. file size:建议用户设置为unlimited(无限制),此参数过小将导致数据库安装或初始化失败

  3. open files:建议用户设置为 65536 以上或unlimited(无限制)

  4. virtual memory:建议用户设置为 1048576 (即1GB)以上或unlimited(无限制),此参数过小将导
    致数据库启动失败

[dmdba@laizhenghua /]$ vim etc/security/limits.conf
@dmsys hard nofile 65536
@dmsys soft nofile 65536

1.3、内存与磁盘空间检查

如果Linux内存与磁盘空间足够大,可略过此步骤。

1、free -h命令检查内存。为了保证达梦数据库可以正确安装与运行,要尽量保证服务器至少有1G的可用内存,如果可用内存过少,可能会导致安装失败或启动失败。

[dmdba@laizhenghua /]$ free -h
              total        used        free      shared  buff/cache   available
Mem:           1.9G         87M        1.5G        440K        334M        1.7G
Swap:            0B          0B          0B

2、检查存储空间。达梦数据库完全安装也需要1G的磁盘存储空间,用户需要提前规划好安装目录。即为数据库实例预留足够的存储空间并且规划好数据存储路径与备份路径。

需要规划这几个安装目录

文件系统空间大小用途备注
/db/dmdbms5GB存储达梦数据库软件安装完成后占用约1GB
/dbdata100GB存储达梦数据库的数据文件根据实际用户数据量
/arch100GB存储达梦数据库的本地归档文件至少能存放大于两个完全备份周期之间的归档日志
/dbbak100GB存储达梦数据库的数据库备份文件至少能存储1份基准数据库完全备份+截止到目前为止所有的增量备份+归档备份

部署路径设置(也就是规划路径)

# 1.配置/db/dmdbms
[root@laizhenghua /]# mkdir -p /db/dmdbms

[root@laizhenghua /]# df -h /db/dmdbms
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        40G   18G   20G  48% /

# 2.赋予达梦用户读写权限
[root@laizhenghua /]# chown -R dmdba:dmsys /db/dmdbms

# 3.创建数据文件的路径并赋权,注意test是数据库名称
[root@laizhenghua /]# mkdir -p /dbdata/test
[root@laizhenghua /]# chown -R dmdba:dmsys /dbdata/test

# 4.创建归档日志路径并赋权
[root@laizhenghua /]# mkdir -p /arch/test
[root@laizhenghua /]# chown -R dmdba:dmsys /arch/test

# 5.创建数据库备份文件的路径并赋权限给达梦用户
[root@laizhenghua /]# mkdir -p /dbback/test
[root@laizhenghua /]# chown -R dmdba:dmsys /dbback/test


3、检查/tmp存储空间。达梦数据库在安装是将产生临时文件,临时文件需要1G的存储空间,临时文件默认目录为/tmp,我们也可以指定临时路径

[root@laizhenghua /]# mkdir -p /db/tmp
[root@laizhenghua /]# chown -R dmdba:dmsys /db/tmp

[root@laizhenghua /]# df -h /db/tmp
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        40G   18G   20G  48% /

4、修改dmdba用户的环境变量

[root@laizhenghua /]# vim /home/dmdba/.bash_profile

export DM_INSTALL_TMPDIR=/db/tmp
export DM_HOME=/db/dmdbms
export PATH=$PATH:$DM_HOME/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$DM_HOME/bin

2、安装达梦数据库

2.1、安装包下载

安装包下载地址:https://eco.dameng.com/download/

在这里插入图片描述

下载压缩包并解压,得到一个.iso文件,然后上传到服务器上

切换到 root 用户,将 DM 数据库的 iso 安装包保存在任意位置,例如 /opt 目录下,执行如下命令挂载镜像:

cd  /opt
mount -o loop dm8_20240116_x86_rh7_64.iso /mnt

切换至 dmdba 用户下,在 /mnt 目录下使用命令行安装数据库程序,依次执行以下命令安装 DM 数据库。

su - dmdba
cd /mnt

在这里插入图片描述

执行如下命令进行安装。

./DMInstall.bin -i

按需求选择安装语言,没有 key 文件选择 “n”,时区按需求选择一般选择 “21”,安装类型选择“1”,安装目录按实际情况配置,这里示例使用默认安装位置。

在这里插入图片描述

在这里插入图片描述

数据库安装完成后,需要切换至 root 用户执行上图中的命令 /home/dmdba/dmdbms/script/root/root_installer.sh 创建 DmAPService,否则会影响数据库备份。

在这里插入图片描述

数据库安装完成后还需注册实例才能使用数据库

2.2、 配置实例

使用 dmdba 用户配置实例,进入到 DM 数据库安装目录下的 bin 目录中。

su - dmdba
cd /home/dmdba/dmdbms/bin

在这里插入图片描述

使用 dminit 命令初始化实例,dminit 命令可设置多种参数,可执行如下命令查看可配置参数。

在这里插入图片描述

此处以初始化实例到 /db/dmdbms 目录下为例,初始化命令如下:

./dminit path=/db/dmdbms

也可以自定义初始化实例的参数,参考如下示例:

以下命令设置页大小为 32 KB,簇大小为 32 KB,大小写敏感,字符集为 utf_8,数据库名为 DMTEST,实例名为 DBSERVER,端口为 5237,SYSDBA_PWD 为 ******,SYSAUDITOR_PWD 为 ******。

./dminit path=/db/dmdbms PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y CHARSET=1 DB_NAME=DMTEST INSTANCE_NAME=DBSERVER PORT_NUM=5237 SYSDBA_PWD=ZDm123456  SYSAUDITOR_PWD=Dm123456

在这里插入图片描述

2.3、注册服务

DM 提供了将 DM 服务脚本注册成操作系统服务的脚本,同时也提供了卸载操作系统服务的脚本。注册和卸载脚本文件所在目录为安装目录的“/script/root”子目录下。

注册服务脚本为 dm_service_installer.sh,用户可以使用注册服务脚本将服务脚本注册成为操作系统服务。注册服务需使用 root 用户进行注册,使用 root 用户进入数据库安装目录的 /script/root 下,如下所示:

cd /home/dmdba/dmdbms/script/root/

注册实例服务,如下所示:

[root@localhost root]# ./dm_service_installer.sh -t dmserver -dm_ini /db/dmdbms/DMTEST/dm.ini -p DMTEST

在这里插入图片描述

部分参数说明:

标志参数说明
-t服务类型注册服务类型,支持一下服务类型:dmap、dmamon、dmserver、dmwatcher、dmmonitor、dmasmsvr、dmasmsvrm、dmcss、dmcssm。
-dm_iniINI 文件路径指定服务所需要的 dm.ini 文件路径。
-p服务名后缀指定服务名后缀,生成的操作系统服务名为“服务脚本模板名,称 + 服务名后缀”。此参数只针对 dmserver、dmwatcher、dmmonitor、dmasmsvr、dmasmsvrm、dmcss、dmcssm 服务脚本生效。

进入数据安装目录下 bin 目录中可以看到已经注册好的服务 DmServiceDMTEST。

cd /home/dmdba/dmdbms/bin
ls

在这里插入图片描述

2.4、启动、停止数据库

2.4.1、服务名方式

服务注册成功后,启动数据库。

使用 dmdba 用户进入 DM 安装目录下的 bin 目录下,启动数据库,如下所示:

[dmdba@localhost ~]$ cd /home/dmdba/dmdbms/bin
[dmdba@localhost bin]$ ls
[dmdba@localhost bin]$ ./DmServiceDMTEST start

在这里插入图片描述

停止数据库

[dmdba@localhost bin]$ ./DmServiceDMTEST stop

在这里插入图片描述

重启数据库

[dmdba@localhost bin]$ ./DmServiceDMTEST restart

查看数据库状态,如下所示:

[dmdba@localhost bin]$ ./DmServiceDMTEST status

在这里插入图片描述

2.4.2、前台方式

前台方式启动数据库后如果启动界面会话关闭数据库也相应会关闭所以一般情况下建议采用服务的方式启动数据库。

dmdba 用户使用前台的方式启动数据库,进入 DM 安装目录下的 bin 目录下,命令如下:

[dmdba@localhost ~]$ cd /home/dmdba/dmdbms/bin
[dmdba@localhost bin]$ ls
[dmdba@localhost bin]$ ./dmserver /db/dmdbms/DMTEST/dm.ini

在这里插入图片描述

该启动方式为前台启动,界面输出“SYSTEM IS READY”后表示前台启动成功,若想关闭数据库,输入 exit 退出即可。

Docker安装

一、安装前准备

软硬件版本
终端X86-64 架构
Docker2024 年 4 月版

二、下载 Docker 安装包

请在达梦数据库官网下载 Docker 安装包

三、导入安装包

拷贝安装包到 /opt 目录下,执行以下命令导入安装包:

Copydocker load -i dm8_20240422_x86_rh6_64_rq_std_8.1.3.100_pack2.tar

结果显示如下:

在这里插入图片描述

导入完成后,可以使用 docker images 查看导入的镜像。结果显示如下:

在这里插入图片描述

四、启动容器

镜像导入后,使用 docker run 启动容器,启动命令如下:

Copydocker run -d -p 30236:5236 --restart=always --name=dm8_test --privileged=true -e LD_LIBRARY_PATH=/opt/dmdbms/bin -e PAGE_SIZE=16 -e EXTENT_SIZE=32 -e LOG_SIZE=1024 -e UNICODE_FLAG=1  -e INSTANCE_NAME=dm8_test -v /opt/data:/opt/dmdbms/data dm8:dm8_20240422_rev215128_x86_rh6_64

在这里插入图片描述

注意

1.SYSDBA_PWD 预设的时候,密码长度为 9~48 个字符,docker 版本使用暂不支持特殊字符为密码。

2.强烈建议用户在首次安装数据库初始化实例时,立即修改数据库系统用户的初始密码,并设置一定的密码强度,以保障数据安全性。

3.-e 设置的时候 初始化参数必须使用大写,不可使用小写。

容器运行相关参数说明:

参数名参数描述
-d-detach 的简写,在后台运行容器,并且打印容器 id。
-p指定容器端口映射,比如 -p 30236:5236 是将容器里数据库的 5236 端口映射到宿主机 30236 端口,外部就可以通过宿主机 ip 和 30236 端口访问容器里的数据库服务。
–restart指定容器的重启策略,默认为 always,表示在容器退出时总是重启容器。
–name指定容器的名称。
–privileged指定容器是否在特权模式下运行。
-v指定在容器创建的时候将宿主机目录挂载到容器内目录,默认为/home/mnt/disks

使用 -e 命令指定数据库初始化参数时,需要注意的是目前只支持预设以下九个 DM 参数。

参数名参数描述备注
PAGE_SIZE页大小,可选值 4/8/16/32,默认值:8设置后不可修改
EXTENT_SIZE簇大小,可选值 16/32/64,默认值:16设置后不可修改
CASE_SENSITIVE1:大小写敏感;0:大小写不敏感,默认值:1设置后不可修改
UNICODE_FLAG字符集选项;0:GB18030;1:UTF-8;2:EUC-KR,默认值:0设置后不可修改
INSTANCE_NAME初始化数据库实例名字,默认值:DAMENG可修改
SYSDBA_PWD初始化实例时设置 SYSDBA 的密码可修改
BLANK_PAD_MODE空格填充模式,默认值:0设置后不可修改
LOG_SIZE日志文件大小,单位为:M,默认值:256可修改
BUFFER系统缓存大小,单位为:M,默认值:1000可修改

通过以下命令可以查看 Docker 镜像中数据库初始化的参数。

Copydocker inspect dm8_test

在这里插入图片描述

找到 Env 项可以看到在数据库初始化时设置的参数值,包括页大小(PAGE_SIZE)、簇大小(EXTENT_SIZE)、字符集(UNICODE_FLAG)、密码等。更多数据库初始化实例参数解释可参考达梦数据库安装目录下 doc 目录中《DM8_dminit 使用手册》。

容器启动完成后,使用命令 docker ps 查看镜像的启动情况,结果显示如下:

在这里插入图片描述

启动完成后,可通过日志检查启动情况,命令如下:

Copydocker logs -f  dm8_test
或
docker logs -f a1d3053287b2

结果显示如下:

在这里插入图片描述

五、启动/停止数据库

停止数据库命令如下:

Copydocker stop  dm8_test

在这里插入图片描述

启动数据库命令如下:

Copydocker start  dm8_test

在这里插入图片描述

重启命令如下:

Copydocker restart  dm8_test

在这里插入图片描述

六、进入 DM8 容器连接数据库

通过以下命令进入容器:

Copydocker exec -it dm8_test bash

在这里插入图片描述
连接数据库:

Copy./disql SYSDBA/*****

在这里插入图片描述

注意
如果使用 docker 容器里面的 disql,进入容器后,先执行 source /etc/profile 防止中文乱码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值