当前位置: 首页 > news >正文

Linux(CentOS7)搭建达梦数据库

参考官方文档
本文记录一下达梦数据库的安装步骤,在安装的过程中出现了一些问题,进行了处理。

文章目录

  • 安装前准备
  • 数据库安装
    • 命令行安装
    • 图形化安装
  • 配置实例
  • 注册服务
  • 启动、停止数据库
  • 达梦数据库卸载

安装前准备

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

注意
安装前必须创建 dmdba 用户,禁止使用 root 用户安装数据库。

1.创建用户所在的组,命令如下:

groupadd dinstall

2.创建用户,命令如下:

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

3.修改用户密码,命令如下:

passwd dmdba

4.修改文件打开最大数
修改文件打开最大数
重启服务器后永久生效
使用 vim 编辑器打开 /etc/security/limits.conf 文件,命令如下:

vi /etc/security/limits.conf

在最后添加四条语句,需添加的语句如下:

dmdba hard nofile 65536
dmdba soft nofile 65536
dmdba hard stack 32768
dmdba soft stack 16384

切换到 dmdba 用户,查看是否生效,命令如下:
su - dmdba
ulimit -a
设置参数临时生效
可使用 dmdba 用户执行如下命令,使设置临时生效:

ulimit -n 65536

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

mount -o loop /mnt/soft/dm8_20230418_x86_rh6_64.iso /mnt/dmdba

新建安装目录
在根目录下创建 /dm8 文件夹,用来安装 DM 数据库。命令如下:

mkdir /mnt/dm8

注意
使用 root 用户建立文件夹,待 dmdba 用户建立完成后需将文件所有者更改为 dmdba 用户,否则无法安装到该目录下

修改安装目录权限
将新建的安装路径目录权限的用户修改为 dmdba,用户组修改为 dinstall。命令如下:

chown dmdba:dinstall -R /mnt/dm8

给安装路径下的文件设置 755 权限。命令如下:

chmod -R 755 /mnt/dm8

数据库安装

DM 数据库在 Linux 环境下支持命令行安装和图形化安装,本章节将分别进行详细介绍。

命令行安装

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

su - dmdba
cd /mnt/soft
./DMInstall.bin -i

按需求选择安装语言,默认为中文。本地安装选择【不输入 Key 文件】,选择【默认时区 21】。
在这里插入图片描述
选择【1-典型安装】,按已规划的安装目录 /dm8 完成数据库软件安装,不建议使用默认安装目录。
在这里插入图片描述
数据库安装大概 1~2 分钟,数据库安装完成后,显示如下界面。
在这里插入图片描述
数据库安装完成后,需要切换至 root 用户执行上图中的命令 /mnt/dm8/script/root/root_installer.sh 创建 DmAPService,否则会影响数据库备份。

图形化安装

切换到 dmdba 用户,进入 /mnt 目录下,执行命令开始图形化安装。

su - dmdba
cd /mnt/soft
./DMInstall.bin

若出现:初始化图形界面失败,如果当前监视器窗口不支持图形界面,请进入安装文件所在文件夹并使用"./DMInstall.bin -i"进行命令行安装。错误提示,可按以下两种方式操作解决:

方法一:注销当前用户,登陆 dmdba 用户,执行 ./DMInstall.bin 命令。
方法二:用当前用户执行 xhost +,切换到 dmdba 用户,执行 export DISPLAY=:0,再执行 xhost +命令。
图形化界面启动成功后,将弹出【选择语言与时区】页面,默认为简体中文和中国标准时间。
在这里插入图片描述

点击【确定】后,弹出 DM 数据库安装程序。
在这里插入图片描述
点击【下一步】后,为许可证协议页面,选择【接受】。
在这里插入图片描述

点击【下一步】后,弹出 key 文件页面,点击【浏览】选择【key 文件】,若没有 key 文件可以直接点击【下一步】,跳过该步骤。

在这里插入图片描述
点击【浏览】后,找到相应的 key 文件,点击【确定】即可。
在这里插入图片描述
点击【下一步】后,弹出选择组件页面,建议选择典型安装,也可根据需要,选择服务器安装、客户端安装和自定义安装。
在这里插入图片描述
点击【下一步】后,弹出选择安装位置页面,可点击【浏览】选择安装位置,也可安装在默认路径下。
在这里插入图片描述
点击【下一步】后,弹出确认安装信息页面,检查安装信息是否准确,确认无误后点击【安装】。
在这里插入图片描述
点击【安装】后,等待 1~2 分钟即可安装完成,安装完成后弹出执行配置脚本页面,按照页面要求执行该脚本即可。
在这里插入图片描述
重新打开一个终端,切换到 root 用户,执行弹出页面中的脚本。
在这里插入图片描述
脚本执行完成后,点击执行配置脚本页面中的【完成】,弹出提示框,提示是否关闭窗口,选择是,提示数据库安装完成,再点击【完成】按钮,完成数据库安装。
在这里插入图片描述
在这里插入图片描述
配置环境变量
切换到 root 用户进入 dmdba 用户的根目录下,配置对应的环境变量。DM_HOME 变量和动态链接库文件的加载路径在程序安装成功后会自动导入。命令如下:

export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool

编辑 .bash_profile,使其最终效果如下图所示:

cd /home/dmdba/
vim .bash_profile

在这里插入图片描述
切换至 dmdba 用户下,执行以下命令,使环境变量生效。

su - dmdba
source .bash_profile

配置实例

DM 数据库在 Linux 环境支持命令行配置实例以及图形化配置实例,本章节将介绍命令行配置实例。
使用 dmdba 用户配置实例,进入到 DM 数据库安装目录下的 bin 目录中,使用 dminit 命令初始化实例。

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

./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 之一,选择的页大小越大,则 DM 支持的元组长度也越大,但同时空间利用率可能下降,缺省使用 8 KB。
  • case_sensitive 标识符大小写敏感,默认值为 Y 。当大小写敏感时,小写的标识符应用双引号括起,否则被转换为大写;当大小写不敏感时,系统不自动转换标识符的大小写,在标识符比较时也不区分大小写,只能是 Y、y、N、n、1、0 之一。
  • charset 字符集选项。0 代表 GB18030;1 代表 UTF-8;2 代表韩文字符集 EUC-KR;取值 0、1 或 2 之一。默认值为 0。
    可以使用默认参数初始化实例,需要附加实例存放路径。此处以初始化实例到 /dm/data 目录下为例(执行初始化命令前,需要使用 root 用户授予 /dm/data 目录相应权限,可以参考修改目录权限),初始化命令如下:
./dminit path=/mnt/dm/data

在这里插入图片描述
也可以自定义初始化实例的参数,参考如下示例:

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

./dminit path=/mnt/dm8/data PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y CHARSET=1 DB_NAME=DMDB INSTANCE_NAME=DBSERVER PORT_NUM=5237

在这里插入图片描述

注意
如果此处自定义了初始化参数,在后面的注册服务和启动数据库等步骤中,请按实际的自定义参数进行操作。

注册服务

注册服务需使用 root 用户进行注册。使用 root 用户进入数据库安装目录的 /script/root 下,如下所示:

cd /mnt/dm8/script/root

注册服务,如下所示:

./dm_service_installer.sh -t dmserver -dm_ini /mnt/dm8/data/DAMENG/dm.ini -p DMSERVER

用户可根据自己的环境更改 dm.ini 文件的路径以及服务名,如下所示:

./dm_service_installer.sh -h

如需为其他实例注册服务,需打开 dbca 工具,进行注册服务,如下所示:

cd /mnt/dm8/tool
./dbca.sh

启动、停止数据库

服务注册成功后,启动数据库,如下所示:

systemctl start DmServiceDMSERVER.service

停止数据库,如下所示:

systemctl stop DmServiceDMSERVER.service

重启数据库,如下所示:

systemctl restart DmServiceDMSERVER.service

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

systemctl status DmServiceDMSERVER.service

可前台启动,进入 DM 安装目录下的 bin 目录下,命令如下:

./dmserver /mnt/dm8/data/DAMENG/dm.ini

该启动方式为前台启动,若想关闭数据库,则输入 exit 即可。

也可进入 DM 安装目录下的 bin 目录下,启动/停止/重启数据库,如下所示:

./DmServiceDMSERVER start/stop/restart

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

./DmServiceDMSERVER status

启动的时候报错:
Job for DmServiceDMSERVER.service failed because the control process exited with error code. See “systemctl status DmServiceDMSERVER.service” and “journalctl -xe” for details.
是由于/mnt/dm8授予的文件夹权限不一致导致的

达梦数据库卸载

关闭数据库服务

systemctl stop DmServiceDMSERVER.service 

进入安装目录,执行卸载命令

./uninstall.sh -i

按照提示进行删除
在这里插入图片描述
将剩下的log和data目录下的文件删除,里面存的是数据库配置文件、日志文件和数据文件

rm -rf /dm8/*

卸载完毕

相关文章:

Linux(CentOS7)搭建达梦数据库

参考官方文档 本文记录一下达梦数据库的安装步骤,在安装的过程中出现了一些问题,进行了处理。 文章目录 安装前准备数据库安装命令行安装图形化安装 配置实例注册服务启动、停止数据库达梦数据库卸载 安装前准备 用户在安装 DM 数据库之前需要检查或修…...

[杂谈]-国产MCU竞争力浅析

[杂谈]-国产MCU竞争力浅析 文章目录 [杂谈]-国产MCU竞争力浅析1、研发方面2、技术方面3、市场方面4、应用方面5、生态方面6、总结 微控制器(MCU)是一种集成了微处理器、存储器、输入/输出接口和其他外设的单片电路,广泛应用于各种电子产品和系…...

4.1、Flink任务怎样读取集合中的数据

1、API说明 非并行数据源: def fromElements[T: TypeInformation](data: T*): DataStream[T] def fromCollection[T: TypeInformation](data: Seq[T]): DataStream[T] def fromCollection[T: TypeInformation] (data: Iterator[T]): Data…...

JD商品详情页面+关键词搜索商品列表API接口数据,详情页面数据返回值说明

作为一个工作助手,我无法直接为您提供实时的京东商品详情。您可以通过访问京东官方网站或使用API接口来查看商品的详细信息。每个商品的详情页面通常会包括以下内容: 1. 商品标题:商品的名称和简要描述。 2. 价格信息:包括原价、…...

Electron v26.0.0-beta.11 发布,跨平台桌面应用开发工具

Electron是一款跨平台桌面应用开发工具,它基于Web技术,使用HTML、CSS和JavaScript来构建应用程序。它能够让开发者使用熟悉的Web开发技术来创建强大的桌面应用,并且可以运行在Windows、macOS和Linux等多个操作系统上。 一、Electron的特点 跨平台:Electron可以将Web技术转…...

提高办案效率:公检系统引入自动校对技术

引入自动校对技术到公检系统中可以有效提高办案效率。自动校对技术结合公检系统的特点,可以在以下方面提高办案效率: 1.节省时间:自动校对技术可以快速检测和修正法律文书中的语法、拼写和标点符号等错误。与手动校对相比,自动校对…...

iptables 清空

清空 iptables中所有策略。 -Z: 重置计数器 -F:删除所有规则(flush) -X:删除所有自定义的链 规则清理和重建如下: iptables -Z iptables -t nat -F iptables -t nat -X iptables -t nat -P PREROUTING A…...

网络安全(黑客)零基础入门

导语 什么是 Web 安全?我又该如何入门学习它呢?学习过程中又应注意哪些问题呢?... 或许你的心中有着这样的疑问、不过别着急,本文会为你一一解答这些问题。 正文 定义 Web 安全,顾名思义便是由保障 Web 应用能够持续…...

Al Go: 蒙特卡洛树搜索(MCTS)简介

目录 1. 前言 1.1 Minimax 1.2 剪枝 1.3 蒙特卡洛树搜索 1.4 为什么随机走子会可行呢? 2. vanilla Monte Carlo tree search 3. UCT-based trade-off between exploitation and exploration 4. MCTS基本算法流程 5. Efficiency Through Expert Policies 6…...

Client-go操作Deployment

在工作中需要对kubernetes进行自定义资源的开发,操作K8s的资源肯定是必不可少的。K8s原生语言是用Go编写的,所以在CRD中使用client-go来操作资源。本次介绍一下使用client-go来操作Deployment。 1. 创建main函数 func main() {homePath : homedir.Home…...

设计模式——单例模式(懒汉和饿汉)

单例模式 一、概念 单例模式是一种对象创建型模式,使用单例模式,可以保证为一个类只生成唯一的实例对象。也就是说,在整个程序空间中,该类只存在一个实例对象。一个类只能有一个实例在生活中是很常见的,比如打印机程…...

详解——Vue3递归函数功能

在 Vue 3 中,递归函数是一种在组件中调用自身的技术。递归函数在解决树状数据结构、无限级分类、嵌套组件等情况下非常有用。以下是一个示例,展示如何在 Vue 3 中实现递归函数的功能、代码和原理: 1. 创建递归组件: 首先&#x…...

【VSCode】查看二进制文件

1.安装插件Hex Editor 2.打开二进制文件 3.执行Hex Editor命令...

C#设计模式之观察者模式

题目:假设你正在开发一个简单的新闻发布系统,该系统允许用户订阅不同的新闻频道,并在有新闻发布时向订阅者发送通知。使用观察者模式设计和实现该系统。观察者模式的相关概念和定义: 观察者模式是一种行为设计模式,它定…...

小红书攻略:爆款引流,如何在激烈竞争中脱颖而出?

小红书(RED)作为国内最具影响力的社交电商平台之一,是很多品牌运营者的首选之一。然而,在小红书的激烈竞争中,如何快速引流、吸引关注,成为了品牌运营者面临的挑战。本篇文章一秒推小编将为您介绍小红书运营…...

Ubuntu中的安装卸载及删除方法

说明:由于图形化界面方法(如Add/Remove... 和Synaptic Package Manageer)比较简单,所以这里主要总结在终端通过命令行方式进行的软件包安装、卸载和删除的方法。 一、Ubuntu中软件安装方法 1、APT方式 (1&#xff0…...

获取历史dokcer镜像项目,并上传gitlab,再打包镜像管理

今天遇到一个问题: 发现一个部署在Jenkins的脚本用的docker镜像是:test_project:v20191108,即这个项目是19年的一个版本,由于代码不断更新,用现在的最新代码运行该脚本,可能不能运行了,必须用19…...

【Go语言】Golang保姆级入门教程 Go初学者chapter3

Go语言 第三章 运算符 下划线“_”本身在Go中一个特殊的标识符,成为空标识符。可以代表任何其他的标识符,但是他对应的值就会被忽略 仅仅被作为站维度使用, 不能作为标识符使用 因为Go语言中没有private public 所以标记变量首字母大写代表其…...

网络防御(4)

一、结合以下问题对当天内容进行总结 1. 什么是IDS? 2. IDS和防火墙有什么不同? 3. IDS工作原理? 4. IDS的主要检测方法有哪些详细说明? 5. IDS的部署方式有哪些? 6. IDS的签名是什么意思?签名过滤器有什么…...

conda错误处理:ResolvePackageNotFound

当运行conda env create -f environment.yaml时出现"ResolvePackageNotFound"错误,这可能是由于环境配置文件中指定的依赖项无法找到或不可用。 错误消息中列出的依赖项包括pip20.3、python3.8.5和cudatoolkit11.3。 尝试以下解决方案: 更新…...

JavaSec-RCE

简介 RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景:Groovy代码注入 Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性&#xff0c…...

SkyWalking 10.2.0 SWCK 配置过程

SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...

PHP和Node.js哪个更爽?

先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...

【力扣数据库知识手册笔记】索引

索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...

day52 ResNet18 CBAM

在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...

【Linux】C语言执行shell指令

在C语言中执行Shell指令 在C语言中&#xff0c;有几种方法可以执行Shell指令&#xff1a; 1. 使用system()函数 这是最简单的方法&#xff0c;包含在stdlib.h头文件中&#xff1a; #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统

目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索&#xff08;基于物理空间 广播范围&#xff09;2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...

大数据学习(132)-HIve数据分析

​​​​&#x1f34b;&#x1f34b;大数据学习&#x1f34b;&#x1f34b; &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 用力所能及&#xff0c;改变世界。 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4…...

Rapidio门铃消息FIFO溢出机制

关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系&#xff0c;以下是深入解析&#xff1a; 门铃FIFO溢出的本质 在RapidIO系统中&#xff0c;门铃消息FIFO是硬件控制器内部的缓冲区&#xff0c;用于临时存储接收到的门铃消息&#xff08;Doorbell Message&#xff09;。…...

大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计

随着大语言模型&#xff08;LLM&#xff09;参数规模的增长&#xff0c;推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长&#xff0c;而KV缓存的内存消耗可能高达数十GB&#xff08;例如Llama2-7B处理100K token时需50GB内存&a…...