【DM】Linux下安装 DM数据库-命令行安装


💖The Begin💖点点关注,收藏不迷路💖

1、安装前准备工作

先进行一系列的系统检查和环境准备。以下是一些关键的准备步骤,以确保DM能够顺利安装并运行。

DM 软件安装包如果是经过数字签名的,则需要进行数字签名校验,否则跳过该步骤:

1、导入达梦公司的公钥:

gpg --import dm-pub-key

导入名为 dm-pub-key 的文件中的公钥到你的 GPG 密钥环中。

2、将达梦公司的公钥添加到绝对信任列表:

gpg --edit-key 武汉达梦数据库有限公司

进入到编辑该公钥的交互式界面。在这个界面中,你可以设置对这个公钥的信任级别。通常,选择设置为 “5” 表示完全信任。具体的选择和信任级别会依据你的安全策略和实际需要而定。

3、验证达梦安装包的数字签名:

gpg --verify dm.sign dm8_setup_xxx.iso

使用导入的公钥 dm-pub-key 对 dm8_setup_xxx.iso 文件进行数字签名的验证。如果验证通过,输出会显示 “Good signature” 表示签名是有效的,安装包文件是完好无损的。

需要注意的是,数字签名的验证过程关键在于你所导入的公钥必须是可信的,而且没有被篡改过。

1.1 检查 Linux系统信息

1、获取系统位数:

[root@zyl-server ~]# getconf LONG_BIT
64
[root@zyl-server ~]#

2、查询操作系统 release 信息:

lsb_release -a
或
cat /etc/os-release
或
cat /etc/redhat-release

3、查询系统信息:

cat /etc/issue

4、查询系统名称:

uname -a 

1.2 创建DM安装用户

为了减少对操作系统的影响,为DM创建一个专用系统用户来安装和运行DM。

1、创建安装用户组dinstall

groupadd -g 12349 dinstall

2、创建安装用户dmdba,并将其添加到dinstall组中

useradd -u 12345 -g dinstall -m -d /home/dmdba -s /bin/bash dmdba

3、初始化用户密码

passwd dmdba

之后认使用用户dmdba进行安装部署等操作。

1.3 检查操作系统限制

使用ulimit -a命令检查当前用户的操作系统资源限制。根据DM的要求,根据需要调整某些限制参数,如data seg size、file size、open files和virtual memory。

可以编辑 /etc/security/limits.conf文件进行参数涉资,确保数据库能够正常运行并处理大规模的数据操作和请求。

# 设置用户名为 john 的用户的虚拟内存限制为 unlimited:
*       -       nofile      65536

# 设置所有用户的虚拟内存限制为 1048576(即 1GB):
*       -       memlock     1048576

在这里插入图片描述

资源限制建议设置:

  1. data seg size (-d):

    • 意义: 控制数据段的大小,即进程的数据区域大小。
    • 建议设置: 建议设置为 1048576(即 1GB)以上或 unlimited(无限制)。如果设置过小,可能会导致数据库启动失败,因为数据库需要足够的内存空间来存储数据和执行操作。
  2. file size (-f):

    • 意义: 控制单个文件的大小。
    • 建议设置: 建议设置为 unlimited(无限制)。如果设置过小,可能会导致数据库安装或初始化过程中出现文件大小限制的问题,特别是在操作大型文件或数据集时。
  3. open files (-n):

    • 意义: 控制每个进程能够打开的文件数量。
    • 建议设置: 建议设置为 65536 以上或 unlimited(无限制)。数据库系统经常需要同时打开多个文件,因此较低的限制可能会导致操作受限或失败。
  4. virtual memory (-v):

    • 意义: 控制虚拟内存的大小。
    • 建议设置: 建议设置为 1048576(即 1GB)以上或 unlimited(无限制)。虚拟内存的限制影响数据库启动和运行时的内存分配能力,设置过小可能会导致数据库启动失败或者无法处理大量数据和请求。

1.4 检查系统内存与存储空间

1.4.1 检查内存

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

在这里插入图片描述

1.4.2 检查存储空间

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

  1. 查询指定目录的可用空间
df -h
或者
df -h 存储目录

1.4.2 检查临时文件目录

DM 安装程序在安装时将产生临时文件,临时文件需要 1GB 的存储空间,临时文件目录默认为/tmp。

在这里插入图片描述

如果/tmp 目录不能保证 1GB 的存储空间,用户可以扩展/tmp 目录存储空间或者通过设置环境变量 DM_INSTALL_TMPDIR 指定安装程序的临时目录。

mkdir -p /dm8data/

DM_INSTALL_TMPDIR=/dm8data/

export DM_INSTALL_TMPDIR

在这里插入图片描述

1.4.3 设置 JAVA 环境

jdk安装配置https://blog.csdn.net/qq_41840843/article/details/136897749

DM_JAVA_HOME=/usr/local/jdk1.8.0_321
export DM_JAVA_HOME

在这里插入图片描述

2、使用dmdba用户安装DM8

2.1 挂载 DM 安装光盘

将 DM 安装光盘放入光驱 /home/,然后加载(mount)光驱。将光驱中的内容挂载到指定的挂载点 /mnt/dvd 上


su - dmdba

mkdir  /mnt/dvd

挂载iso文件(只能读,不可写)

mount -o loop  /home/dm8_20240408_x86_rh7_64.iso /mnt/dvd

重新以可读可写的方式挂载
mount -o remount,rw /home/dm8_20240408_x86_rh7_64.iso /mnt/dvd
cd /mnt/dvd

在这里插入图片描述

拷贝 DMInstall.bin到 /db/dmdbms/

[root@zyl-server dmdbms]# cd  /mnt/iso
[root@zyl-server iso]#
[root@zyl-server iso]#
[root@zyl-server iso]# ll
total 1057031
-r-xr-xr-x. 1 root root    2587699 Mar 20 14:04 DM8 Install.pdf
-r-xr-xr-x. 1 root root 1079810877 Apr  8 13:35 DMInstall.bin
[root@zyl-server iso]# cp DMInstall.bin /db/dmdbms/
[root@zyl-server iso]#

将 /db/dmdbms/目录下的 DMInstall.bin 文件赋予执行权限。

chmod 755 ./DMInstall.bin

在这里插入图片描述

2.2 命令行安装

在安装用户dmdba下,执行以下命令将运行 DM 的命令行安装。

./DMInstall.bin -i

在这里插入图片描述

2.3 安装步骤

步骤 1:选择安装语言

根据提示选择安装语言,输入相应的选项后回车。

在这里插入图片描述

步骤 2:确认是否继续安装

如果系统中已存在DM,会询问是否继续安装。确认继续后,进行下一步。

步骤 3:验证Key文件

输入Key文件路径(如果有的话)。如果Key文件合法且在有效期内,安装程序将允许继续安装。

在这里插入图片描述

步骤 4:输入时区

根据提示选择或输入时区信息。

在这里插入图片描述

步骤 5:选择安装类型

您可以选择典型安装或自定义安装。如果选择自定义安装,需要手动输入要安装的组件序号。

在这里插入图片描述

步骤 6:选择安装路径

可以输入 DM 的安装路径,不输入则使用默认路径,默认值为$HOME/dmdbms(如
果安装用户为 root,则默认安装目录为/opt/dmdbms,但不建议使用 root 系统用户
来安装 DM)。 如下图所示:

在这里插入图片描述
注意: 安装完成后,终端提示“请以 root 系统用户执行命令”。由于使用非 root
系统用户进行安装,所以部分安装步骤没有相应的系统权限,需要用户手动执行相关命
令。用户可根据提示完成相关操作。

在这里插入图片描述

步骤 7:安装小结

安装结束后,还需要初始化数据库并注册相关服务才能正式运行达梦数据库。

3、初始化数据库与注册服务

安装完成后,根据提示,需要以root用户身份执行一些额外的命令来完成数据库的初始化和服务的注册。这通常涉及到设置环境变量、执行dminit命令初始化数据库、以及配置并启动数据库服务等步骤。

3.1 配置实例

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

在这里插入图片描述

dminit 命令可设置多种参数,可查看可配置参数:

/home/dmdba/dmdbms/bin/dminit help

在这里插入图片描述

注意:页大小 (page_size)、簇大小 (extent_size)、大小写敏感 (case_sensitive)、字符集 (charset) 这四个参数一旦确定无法修改,需谨慎设置。

  • extent_size:数据文件使用的簇大小,只能是 16 页、32 页或 64 页之一,缺省使用 16 页。
  • page_size:数据文件使用的页大小,可以是 4 KB、8 KB、16 KB 或 32 KB 之一,缺省使用 8 KB。
  • case_sensitive:标识符大小写敏感,默认值为 Y。
  • charset:字符集选项,0 代表 GB18030,1 代表 UTF-8,2 代表韩文字符集 EUC-KR。

示例命令,初始化一个数据库,放在/home/dmdba/dmdbms 目录下,设置页大小为 32 KB,簇大小为 32 KB,大小写敏感,字符集为 utf_8,数据库名为 DMDB,实例名为 DBSERVER,端口为 5237。

./dminit path=/home/dmdba/dmdbms PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y CHARSET=1 DB_NAME=DMDB INSTANCE_NAME=DBSERVER PORT_NUM=5237

在这里插入图片描述

3.2 root用户下注册服务

DM 提供了 14 个服务脚本模板,分别是 DmAPService 服务、DmAuditMonitor 服务、
DmJobMonitor 服务、DmInstanceMonitor 服务、DmServer 服务、DmWatchService
服务、DmMonitorService 服务、DmASMSvrService 服务、DmCSSService 服务和
DmCSSMonitorService 服 务 、 DmDRSService 服 务 、 DmDRASService 服 务 、
DmDCSService 服务和 DmDSSService 服务。其中前 4 个在安装/bin 目录下,其他的都
在/bin/service_template 下。

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

在这里插入图片描述

cd /home/dmdba/dmdbms/script/root
./dm_service_installer.sh -t dmserver -dm_ini /home/dmdba/dmdbms/DMDB/dm.ini -p DMSERVER

这条命令的含义是:

  • -t dmserver:指定要注册的服务类型为 dmserver,即 DM 数据库服务器。
  • -dm_ini /home/dmdba/dmdbms/DMDB/dm.ini:指定 DM 数据库的配置文件 dm.ini 的路径。
  • -p DMSERVER:指定服务的名称为 DMSERVER

执行这个命令后,DM 数据库服务将被注册到系统中,可以使用 systemctl 命令来管理这个服务,例如:

  • 启动服务:systemctl start DmServiceDMSERVER
  • 停止服务:systemctl stop DmServiceDMSERVER
  • 重启服务:systemctl restart DmServiceDMSERVER
  • 查看服务状态:systemctl status DmServiceDMSERVER

在这里插入图片描述

在这里插入图片描述

3.3 服务程序的启动

  • 使用 systemctl 启动服务:

    systemctl start DmServiceDMSERVER.service
    
  • 前台启动,进入 DM 安装目录/home/dmdba/dmdbms/bin:

    ./dmserver /home/dmdba/dmdbms/DMDB/dm.ini
    

    关闭数据库,输入 exit

  • 使用服务脚本启动/停止/重启数据库:

    ./DmServiceDMSERVER start/stop/restart
    
  • 查看数据库状态:

    ./DmServiceDMSERVER status
    

在这里插入图片描述

4、数据库的使用

1、登录 disql

在Linux环境下,首先进入数据库软件的bin目录:

cd /home/dmdba/dmdbms/bin

然后,使用disql工具登录数据库。对于非默认用户和密码,特别是密码包含特殊字符时,需要按以下方式输入:

./disql 用户名/'"密码"'@主机名:端口号

例如:

./disql dmdba/'"zyl@2024"'@192.168.234.10:5237

如果用户名、密码和端口号都是默认的(通常是SYSDBA/SYSDBA和端口),则可以直接:

./disql SYSDBA/SYSDBA@192.168.234.10:5237

这将启动disql客户端并连接到本地或指定的默认数据库实例。
在这里插入图片描述

2、用户角色与权限管理

1. 创建用户

CREATE USER ZYl IDENTIFIED BY ZYl20240411;

创建用户ZYl,密码为ZYl20240411.

3. 授权权限
  • 授权基本权限:
GRANT "DBA" TO "ZYl";

ZYl用户授予DBA权限。

在这里插入图片描述

4. 修改用户密码
ALTER USER ZYl IDENTIFIED BY 'newpassword';

ZYl用户的密码更改为newpassword

5. 其他常用操作
  • 查看当前用户:
SELECT USER;
  • 删除用户(慎用):
DROP USER ZYl CASCADE;

删除ZYl用户及其所有对象。

禁用/启用用户

-- 禁用用户
ALTER USER myuser ACCOUNT LOCK;

-- 启用用户
ALTER USER myuser ACCOUNT UNLOCK;

2. 角色管理

创建角色:

CREATE ROLE myrole;

这个命令创建了一个名为myrole的角色。

授予系统权限给角色

GRANT CREATE TABLE TO myrole;

这个命令授予myrole角色创建表的权限。

授予对象权限给角色

假设有一个表mytable,要将对其的查询权限授予myrole

GRANT SELECT ON mytable TO myrole;

将角色授予用户

GRANT myrole TO myuser;

这个命令将myrole角色授予myuser用户,myuser将继承myrole的所有权限。

撤销角色

REVOKE myrole FROM myuser;

这个命令从myuser用户中撤销myrole角色。

撤销权限

REVOKE SELECT ON mytable FROM myrole;

这个命令从myrole角色中撤销对mytable的查询权限。

在这里插入图片描述


💖The End💖点点关注,收藏不迷路💖
  • 49
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Seal^_^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值