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

目录

一、安装前的准备工作

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 /datamkdir 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.mzph.cn/news/799376.shtml

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

相关文章

VS Code远程连接服务器运行python程序

之前一直用pycharm连接服务器跑程序&#xff0c;pycharm需要本地和远程都存一份代码&#xff0c;然后把本地的更新同步到服务器上来实现代码修改&#xff0c;后来实习的时候发现企业里面都用VS Code&#xff0c;不得不说&#xff0c;VS Code真的很方便&#xff0c;直接连服务器…

「媒体宣传」科技IT行业有哪些媒体邀约资源-51媒体网

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 科技IT行业的媒体邀约资源非常丰富&#xff0c;包括了各种类型的传统媒体和新兴的网络媒体平台。以下是一些主要的媒体邀约资源&#xff1a; 除此之外&#xff0c;还有一些其他科技类网络…

算法 第34天 贪心3

1005 K 次取反后最大化的数组和 给你一个整数数组 nums 和一个整数 k &#xff0c;按以下方法修改该数组&#xff1a; 选择某个下标 i 并将 nums[i] 替换为 -nums[i] 。 重复这个过程恰好 k 次。可以多次选择同一个下标 i 。 以这种方式修改数组后&#xff0c;返回数组 可能…

Failed to start docker.service: Unit is not loaded properly: Invalid argument.

Failed to start docker.service: Unit is not loaded properly: Invalid argument. 未知原因&#xff1a;docker服务无法正常load 解决方式&#xff1a; 卸载docker&#xff0c; 删除docker.service 重新安装docker Docker是一种相对使用较简单的容器&#xff0c;我们可以通过…

【QT+QGIS跨平台编译】063:【qca-softstore+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

点击查看专栏目录 文章目录 一、qca-softstore介绍二、QCA下载三、文件分析四、pro文件五、编译实践5.1 windows下编译5.2 linux下编译5.3 macos下编译一、qca-softstore介绍 QCA-Softstore 是一个软件证书存储插件,它是为 QCA 框架设计的。这个插件提供了一个简单的持久化证书…

SpringCloud Alibaba Sentinel 规则持久化

一、前言 接下来是开展一系列的 SpringCloud 的学习之旅&#xff0c;从传统的模块之间调用&#xff0c;一步步的升级为 SpringCloud 模块之间的调用&#xff0c;此篇文章为第十七篇&#xff0c;即使用 Sentinel 实现规则持久化。 二、概述 从前面我们做的实验可知&#xff0c;…

循环双链表算法库构建

学习贺老师数据结构数据结构之自建算法库——循环双链表_数据结构编写一个程序linklist.cpp-CSDN博客 模仿单链表逻辑,实现双链表, 大差不差 v1.0: 实现基本功能 V1.0 1.主要功能: //(1)头插法建立循环双链表 void Create_Double_CyclicList_Head(DoubleLinkList_Cyclic *&am…

相机标定——四个坐标系介绍

世界坐标系(Xw,Yw,Zw) 世界坐标系是一个用于描述和定位三维空间中物体位置的坐标系&#xff0c;通常反映真实世界下物体的位置和方向。它是一个惯性坐标系&#xff0c;被用作整个场景或系统的参考框架。在很多情况下&#xff0c;世界坐标系被认为是固定不变的&#xff0c;即它…

51单片机之串口通信

目录 1.串口简介 1.1TXD和RXD 1.2通讯接口 1.3通信方式 1.4 51单片机的UART模式 2.串口配置 2.1寄存器简介 SCON寄存器配置 PCON配置 2.2代码配置串口 2.2.1 配置串口发送数据 2.2.2配置电脑向单片机发送数据点亮LED 1.串口简介 串口是一个应用十分广泛的通讯接口&am…

对接穿山甲激励视频广告,收益如何?

激励视频广告一直是广告平台探索的重要广告类型&#xff0c;在激励任务达成或者激励视频退出时&#xff0c;为用户新增广告任务。“激励视频”广告满足部分用户多看广告获得更多奖励心理的需求的同时&#xff0c;提升了开发者广告曝光机会。进而提升了广告变现效率。#APP广告变…

复习知识点整理

零碎语法 1.导入某个文件夹的index文件&#xff0c;index可以省略&#xff08;这里导入的是router和store文件下的index.js文件&#xff09; 2.路由懒加载 this 1.在vue文件中使用router\store对象时 this&#xff1a;普通函数的this指向vue实例对象(在没有明确指向的时候…

上位机软件与美国罗克韦尔AB PLC无线以太网通讯测试

在实际系统中&#xff0c;同一个车间里分布多台PLC&#xff0c;通过上位机集中控制。通常所有设备距离在几十米到上百米不等。在有通讯需求的时候&#xff0c;如果布线的话&#xff0c;工程量较大耽误工期&#xff0c;这种情况下比较适合采用无线通信方式。本方案以组态王和2台…

在渲染项目instant-ngp使用代码(run.py)实现的补充说明

0 引言 最近&#xff0c;在做一个项目中有需要使用渲染接口&#xff0c;需要使用代码来实现。详细的步骤在文章instant-ngp中run.py的使用_/instant-ngp/./scripts/run.py", line 25, in https://blog.csdn.net/fengbingchun/article/details/129770444?ops_request_misc…

【C++】继承总结

一、前言 我们众所周知的C三大特性分别为&#xff1a;封装、继承、多态。 封装就是将接口实现统一化&#xff0c;隐藏那些不同的地方&#xff0c;在上层函数调用体现的方式一样&#xff0c;如各种容器的迭代器iterator&#xff0c;尽管底层实现的方式不同&#xff0c;但是在使用…

ArcGIS Server 安装教程

​​​​​​​ 一、环境与文件准备 1.软件环境 已安装arcgis Desktop 10.2 2.安装及授权文件 二、安装步骤 1.下载安装包和授权文件&#xff0c;解压后打开ArcGIS Server10.2文件夹&#xff0c;打开ESRI.exe。 2.点击ArcGIS for Server后的Setup&#xff0c;开始安装。 3.…

labelme安装和使用

源码地址&#xff1a; git clone https://github.com/labelmeai/labelme.git 描述 是一个图形图像注释工具,灵感来自 http://labelme.csail.mit.edu . 它是用比顿编写的,并使用QT进行图形化接口。 实例分割的VOC数据集示例。 其他例子(语义分割、B箱检测和分类)。 各种原语(多…

manga-ocr漫画日文ocr

github 下载 解压 anaconda新建环境 conda create -n manga_ocr python3.8 激活环境 conda activate manga_ocr cd到解压目录 cd /d manga-ocr-master 安装依赖包 pip install -r requirements.txt pip3 install manga-ocr 下载离线model huggingface 123云盘 解压到一个目录…

宏集PLC如何为楼宇自动化行业提供空调、供暖与通风的解决方案?

一、应用背景 楼宇自动化行业是通过将先进的技术和系统应用于建筑物中&#xff0c;以提高其运营效率、舒适度和能源利用效率的行业&#xff0c;其目标是使建筑物能够自动监控、调节和控制各种设备和系统&#xff0c;包括照明系统、空调系统、安全系统、通风系统、电力供应系统…

rsync 远程同步 基础介绍

目录 一 Rsync 简介 1&#xff0c;rsync 是什么 2&#xff0c;rsync 中的发起端 同步源 3&#xff0c;同步方式 4&#xff0c;备份的方式 5&#xff0c;常用Rsync命令 6&#xff0c; 配置源的两种表达方法 7&#xff0c;rsync做本地复制时与cp 对比 二&#xff…

【4036】基于小程序+ssm实现的软件学院会议室管理系统

作者主页&#xff1a;Java码库 主营内容&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。 收藏点赞不迷路 关注作者有好处 文末获取源码 技术选型 【后端】&#xff1a;Java 【框架】&#xff1a;ssm 【…