【Linux】达梦数据库安装部署(附详细图文)

news2025/1/22 8:57:54

目录

一、安装前的准备工作

1.检查操作系统配置

(1)获取系统位数 getconf LONG_BIT

(2)查看操作系统release信息 cat /etc/system-release

(3)查询系统名称 uname -a

(4)查看操作系统CPU信息 lscpu

2. 创建安装用户

(1)创建安装用户组 dinstall

(2)创建安装用户 dmdba。

(3)初始化用户密码

3.检查系统操作限制(一般可忽略)

4.检查系统内存与存储空间

二、达梦下载地址

三、安装达梦

1.安装前的准备工作

2.命令行安装

(1)切换dmdba用户

(2)切换到/data/dm8目录

(3)执行安装命令

 (4)切换root账号并执行命令

 四、初始化达梦数据库

五、使用脚本自动注册服务

六、遇到的问题

1.检查前台方式启动达梦数据库是否成功

2.检查dm的安装目录是否属于dmdba用户和dinstall用户组

 3.再次执行注册服务,并启动

4.通过注册脚本将dm服务注册到系统服务


一、安装前的准备工作

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

本文档适用于银河麒麟操作系统(Kylin V10_SP3)并且架构是aarch64。由于不同操作系统系统命令不尽相同,具体步骤及操作请以本机系统为准。

1.检查操作系统配置

(1)获取系统位数 getconf LONG_BIT
(2)查看操作系统release信息 cat /etc/system-release
(3)查询系统名称 uname -a
(4)查看操作系统CPU信息 lscpu

按照自己操作系统的配置下载相关DM数据库的安装包。

从上面信息可以看出操作系统:Kylin 10,架构:aarch64,芯片:鲲鹏920。

2. 创建安装用户

(1)创建安装用户组 dinstall

groupadd -g 12349 dinstall  

-g 12349:表示设置用户组的id(12349)

(2)创建安装用户 dmdba。

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

  • -u 12345:指定用户的用户ID为 12345。
  • -g dinstall:将用户添加到 dinstall 用户组中。
  • -m:在创建用户时自动创建用户的家目录。
  • -d /home/dmdba:指定用户的家目录为 /home/dmdba。
  • -s /bin/bash:指定用户的登录 shell 为 /bin/bash。

最后的 dmdba 是要创建的用户名。

(3)初始化用户密码

passwd dmdba

3.检查系统操作限制(一般可忽略)

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

运行 ulimit -a 进行查询。如下图所示:

参数使用限制:

  • data seg size

data seg size (kbytes, -d)

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

  • file size

file size(blocks, -f)

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

  • open files

open files(-n)

建议用户设置为 65536 以上或 unlimited(无限制)。

  • virtual memory

virtual memory (kbytes, -v)

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

如果用户需要为当前安装用户更改 ulimit 的资源限制,请修改文件/etc/security/limits.conf。

 每一行定义了一个限制,格式如下:

<domain>   <type> <item>    <value>
  • <domain> 可以是用户名或用户组。具体如下图:

  • <type> 可以是 softhard-
  • <item> 是你想要限制的资源,对于文件描述符数量,这将是 nofile

  • <value> 是限制的值。

例如,要为用户 hl 设置最大文件描述符数量为 4096,你可以添加以下行:

john soft nofile 4096  
john hard nofile 4096

说明:soft 限制是警告级别,当达到这个限制时,用户会收到警告。hard 限制是实际限制,当达到这个限制时,操作会失败。

4.检查系统内存与存储空间

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

(1)获取内存总大小 grep MemTotal /proc/meminfo

(2)显示磁盘空间利用情况:df -h

(3)查看内存使用详情:free -h

DM 安装程序在安装时将产生临时文件,临时文件需要 1GB 的存储空间,临时文件目录默认为**/tmp**。用户可以使用以下命令检查存储空间。如下图所示:

二、达梦下载地址

官方地址:产品下载 | 达梦数据库

由于从安装前的准备工作得出我们操作系统:Kylin 10,架构:aarch64,芯片:鲲鹏920 。

在此选择开发版(信创平台)

 下载好之后,上传到服务器。

三、安装达梦

1.安装前的准备工作

(1)在/data目录下新建dm8目录

说明:磁盘挂载在新建的/data目录下,因此是在/data目录下新建dm8目录,根据个人需求看达梦文件存储位置。

cd /data

mkdir dm8

(2)下载DM.iso文件,上传到dm8目录

cd dm8

(3)修改dm8目录文件所有者

chown -R dmdba:dinstall /data/d8

(4)挂载光盘影像文件(root账号)

1)创建文件夹mkdir /dm8/iso

2)挂载光盘映像文件mount /dm8/dm8_20240123_FTarm_kylin10_sp1_64.iso /dm8/iso/

挂载成功如图:

(5)从iso文件夹拷贝文件到dm8目录下 

cp iso/DMInstall.bin ./

 (6)设置DMInstall.bin的权限

chmod 775 ./DMInstall.bin 

2.命令行安装

(1)切换dmdba用户

su dmdba

(2)切换到/data/dm8目录

cd /data/dm8

(3)执行安装命令

步骤一:

 ./DMInstall.bin -i

选择安装语言:简体中文

用户可以选择是否输入 Key 文件路径。不输入则进入下一步安装,输入 Key 文件路径,安装程序将显示 Key 文件的详细信息,如果是合法的 Key 文件且在有效期内,用户可以继续安装。如下图所示:

户可以选择 DM 的时区信息。如下图所示:(21)是中国标准时间

 

用户选择安装类型需要手动输入,默认是典型安装。如果用户选择自定义安装,将打印全部安装组件信息。用户通过命令行窗口输入要安装的组件序号,选择多个安装组件时需要使用空格进行间隔。输入完需要安装的组件序号后回车,将打印安装选择组件所需要的存储空间大小。如下图:

选择安装路径

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

如下图所示:

 安装

 (4)切换root账号并执行命令

su root

/data/dm8/dm8_ky/script/root/root_installer.sh

到此DM安装结束。

 四、初始化达梦数据库

dminit 工具需要从命令行启动。找到 达梦所在安装目录 /bin,输入 dminit 和参数后回车。

语法如下:

dminit KEYWORD=value { KEYWORD=value }

KEYWORD:dminit 参数关键字。多个参数之间排列顺序无影响,参数之间使用空格间隔。

value:参数取值。

可使用“dminit HELP”快速查看 dminit 版本信息和各参数信息。

也可在达梦官网查看dminit的详细参数:每个参数都有讲解。

https://eco.dameng.com/document/dm/zh-cn/pm/view-dminit-parameters.html

 说明:需要注意的是页大小、簇大小、大小写敏感、字符集 、VARCHAR 类型以字符为单位、空格填充模式等部分参数,一旦确定无法修改,需谨慎设置。

选择参数进行初始化:

./dminit PATH=/data/dm8/dmData LOG_PATH=/data/dm8/logs/dmData01.log LOG_PATH=/data/dm8/logs/dmData02.log PAGE_SIZE=16  CHARSET=1 SYSDBA_PWD=ms@kbox2024 DB_NAME=DM INSTANCE_NAME=DMSERVER PORT_NUM=5236

初始化完成。 

五、使用脚本自动注册服务

DM 提供了将 DM 服务脚本注册成操作系统服务的脚本,同时也提供了卸载操作系统服务的脚本。注册和卸载脚本文件所在目录为安装目录的“/scripts/root”子目录下。注册服务脚本为 dm_service_installer.sh,用户可以使用注册服务脚本将服务脚本注册成为操作系统服务,命令参数如下所示:

操作之前,需要使用 root 系统用户登录或切换至 root 系统用户。

下示例为创建数据库实例的系统服务,数据库 dm.ini 所在路径在初始化数据库之后就会存在,系统服务后缀为 DMSERVER。

1.切换到达梦的安装目录“/scripts/root”

2.切换root系统用户

3.找到dm.ini文件路径

find / -name dm.ini

4.通过指定服务类型注册服务

./dm_service_installer.sh -t dmserver -dm_ini /data/dm8/dmData/DM/dm.ini -p DMSERVER

注册脚本将注册达梦数据库实例服务 DmServiceDMSERVER。

5.通过服务脚本文件注册服务 

./dm_service_installer.sh -s /data/dm8/dm8_ky/bin/DmServiceDMSERVER

完成之后就可以尝试用systemctl命令启动达梦数据库。

 6.常用命令

##启用服务

systemctl enable DmServiceDMSERVER

##停止服务

systemctl stop DmServiceDMSERVER

##启动服务

systemctl start DmServiceDMSERVER

六、遇到的问题

启动达梦数据库报错:DmServiceDMSERVER.service: Failed with result 'exit-code'.

Failed to start DM Instance Service(DmServiceDMSERVER)

解决思路:

1.检查前台方式启动达梦数据库是否成功

进入 DM 安装目录下的 bin 目录下

执行:./dmserver /data/dm8/dmData/DM/dm.ini

上图所示达梦数据库成功运行。如果没报错就说明安装部署是正确的,但是systemctl启动不了,那就注意看下dm的目录是不是属于用户(dmdba)或用户组(dinstall),如果报错的话注意查看log目录下的日志文件。

2.检查dm的安装目录是否属于dmdba用户和dinstall用户组

如果有文件不全是属于dmdba用户那么就执行赋权限命令:

chown -R dmdba:dinstall /data/dm8/

注意观察dm的目录用户组和用户是否改变 。

 3.再次执行注册服务,并启动

执行之前先卸载之前的注册服务

卸载服务

切换root用户(su root)

切换到达梦的这个目录“/scripts/root”

删除指定的操作系统服务。命令如下:

./dm_service_uninstaller.sh -n DmServiceDMSERVER

注册服务

切换到“script/root”目录下

./dm_service_installer.sh -t dmserver -dm_ini /data/dm8/dmData/DM/dm.ini -p DMSERVER

启动dm

切换到达梦的安装bin目录

./DmServiceDMSERVER start

如果启动不了就查看dm安装目录下的log文件,一般能够找到问题,问题解决之后。

4.通过注册脚本将dm服务注册到系统服务
./dm_service_installer.sh -s /data/dm8/dm8_ky/bin/DmServiceDMSERVER

一般第三步的这样启动./DmServiceDMSERVER start成功注册之后,就能够通过systemctl start DmServiceDMSERVER 启动达梦数据库。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1576468.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于Spring Boot的网上书城系统(带文档)

主要功能 本次设计任务是要设计一个网上书城管理系统&#xff0c;通过这个系统能够满足网上书城的管理及用户的图书信息管理及购物功能。系统的主要功能包括&#xff1a;首页、个人中心、用户管理、图书类型管理、图书分类管理、图书信息管理、我的收藏管理、系统管理、订单管…

websocket实践

文章目录 背景WebSocket API使用场景优点 实例步骤 1: 设置 WebSocket 服务器步骤 2: 创建客户端 HTML 页面步骤 3: 测试 WebSocket 通信注意事项实际操作 参考资料 WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议。它使得浏览器和服务器只需建立一个连接&#xff0c;…

SWM341系列应用(MPU屏应用)

SWM341系列 MPU屏应用 1、MPU屏写入时序设置&#xff08;设置单位为周期&#xff09;&#xff0c;根据ST7789规格书规定的最小时序要求&#xff0c;建议MPU屏时序按照ST7789手册配置,建议配置的参数注释。例如WRRise_CSRise&#xff0c;时序图要求是最低10ns&#xff0c;根据计…

1.8.3 卷积神经网络近年来在结构设计上的主要发展和变迁——GoogleNet/inception-v1

1.8.3 卷积神经网络近年来在结构设计上的主要发展和变迁——GoogleNet/ inception-v1 前情回顾&#xff1a; 1.8.1 卷积神经网络近年来在结构设计上的主要发展和变迁——AlexNet 1.8.2 卷积神经网络近年来在结构设计上的主要发展和变迁——VGGNet GoogleNet问题 在VGGNet简单堆…

分类预测 | Matlab实现ABC-LSSVM人工蜂群算法优化最小二乘支持向量机数据分类预测

分类预测 | Matlab实现ABC-LSSVM人工蜂群算法优化最小二乘支持向量机数据分类预测 目录 分类预测 | Matlab实现ABC-LSSVM人工蜂群算法优化最小二乘支持向量机数据分类预测分类效果基本介绍程序设计参考资料 分类效果 基本介绍 1.Matlab实现ABC-LSSVM人工蜂群算法优化最小二乘支…

Redis中的Sentinel(六)

Sentinel 选举领头Sentinel. 当一个主服务器被判断为客观下线时&#xff0c;监视这个下线主服务器的各个Sentinel会进行协商&#xff0c;选举出一个领头Sentinel,并由领头 Sentinel对下线主服务器执行故障转移操作。以下是Redis选举领头Sentinel的规则和方法: 1.所有在线的S…

LabVIEW厂房漏水检测监控系统

LabVIEW厂房漏水检测监控系统 随着信息技术和智能制造的快速发展&#xff0c;对于精密仪器和重要物品存放场所的环境监控日益重要&#xff0c;特别是防止漏水带来的潜在风险。漏水不仅可能导致珍贵资料或仪器的损坏&#xff0c;还可能引发安全事故&#xff0c;给企业和研究机构…

在 C++ 中轻松实现字符串与字符数组的相互转换

在 C 中轻松实现字符串与字符数组的相互转换 引言一、将字符串转换为 char 数组1.1、C 中的 c_str()和 strcpy()函数1.2、使用 for 循环中的字符串到字符数组的转换 二、将 char 数组转换为字符串2.1、C 运算符 2.2、C 重载 运算符2.3、C 字符串内置构造函数 三、总结 引言 本…

阿里云服务器可以干嘛 阿里云服务器应用场景有哪些

阿里云服务器可以干嘛&#xff1f;能干啥你还不知道么&#xff01;简单来讲可用来搭建网站、个人博客、企业官网、论坛、电子商务、AI、LLM大语言模型、测试环境等&#xff0c;阿里云百科aliyunbaike.com整理阿里云服务器的用途&#xff1a; 阿里云服务器活动 aliyunbaike.com…

qt环境搭建-镜像源安装Qt Creator(5.15.2)以及配置环境变量

前言&#xff1a; 版本&#xff1a;5.15.2 镜像源&#xff1a;ustc与清华 纯小白&#xff0c;找了半天的镜像源安装qtcreator&#xff0c;搞了半天结果安装的是最新的&#xff0c;太新的对小白很不友好&#xff0c;bug比较多&#xff0c;支持的系统也不全&#xff0c;口碑不…

011_C标准库函数之<time.h>

头文件<time.h>中说明了一些用于处理日期和时间的类型和函数。其中的一部分函数用于处理当地时间&#xff0c;因为时区等原因&#xff0c;当地时间与日历时间可能不相同。clock_t和time_t是两个用于表示时间的算术类型&#xff0c;而struct tm则用于存放日历时间的各个成…

配置vscode用于STM32编译,Debug,github上传拉取

配置环境参考&#xff1a; Docs 用cubemx配置工程文件&#xff0c;用VScode打开工程文件。 编译的时候会有如下报错&#xff1a; vscode出现process_begin :CreateProcess failed 系统找不到指定文件 解决方案&#xff1a;在你的makefile中加上SHELLcmd.exe就可以了 参考…

mysql jdbc数据库速成总结

第一步导图jar包 我们下载一个jar 按照我的习惯是把这个jar包放在桌面上 方便后续操作 然后对这个jar包ctrl c复制 接着我们在idea里面创建一个目录 我们命名为lib 然后在这个lib安ctrl V进行粘贴 然后右键这个lib 找到添加为库 我的idea好像没有选择 只有添加为模块 点…

【LeetCode: 455. 分发饼干 + 贪心】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

2024/4/1—力扣—最小高度树

代码实现&#xff1a; /*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/ struct TreeNode* buildTree(int *nums, int l, int r) {if (l > r) {return NULL; // 递归出口}struct…

【AI】ubuntu 22.04 本地搭建Qwen-VL 支持图片识别的大语言模型 AI视觉 【2】 4060ti 16G 也顶不住

接上篇 【AI】ubuntu 22.04 本地搭建Qwen-VL 支持图片识别的大语言模型 AI视觉-CSDN博客 迁移到4060ti 16G 环境下&#xff0c;仍然报错&#xff0c;显存不足&#xff01;

一切皆是为了交流-DDD通用语言

通用语言是什么&#xff1f; 通用语言是一种在特定领域内的沟通方式&#xff0c;可以由文字、语言、手势、图像等一切与达到沟通目的的元素组成。 比如&#xff0c;在中国内&#xff0c;方言是闽南的小王与方言是粤语的小张进行交流&#xff0c;那么&#xff0c;普通话是他们…

汇编基础----mov基本操作

汇编基础----mov基本操作 下载VS2022 这个网上教程很多,自行下载安装即可 新建项目 选择空项目,如何点击下一步 在源文件下创建这二个文件 修改配置使asm文件能被解析,右击项目名(demo)->生成依赖项->生成自定义->勾选如下图所示选项->确定 立即数寻址 main…

N5171B是德科技N5171B信号发生器

181/2461/8938产品概述&#xff1a; N5171B EXG 射频模拟信号发生器具有最佳的 EXG&#xff0c;旨在满足您对组件参数测试和接收器校准的信号需求。其出色的硬件性能可提供更快的吞吐量、更长的正常运行时间以及极好的准确性和可重复性。 Agilent / HP N5171B EXG 射频模拟信…

vue的 blob文件下载文件时,后端自定义异常,并返回json错误提示信息,前端捕获信息并展示给用户

1.后端返回的json数据结构为&#xff1a; {"message":"下载失败&#xff0c;下载文件不存在&#xff0c;请联系管理员处理&#xff01;","code":500} 2.vue 请求后台接口返回的 Blob数据 3.问题出现的原因是&#xff0c;正常其他数据列表接口&…