在KylinV10安装DM8、卸载DM8

news2025/1/19 10:41:51

前言

因为近期,业外和几个朋友想搞点有趣的项目玩玩,既然不以盈利为主,就> 主推国产化,所以这篇记录一下,我在KylinV10安装dm8.写的博客可能有所披露,希望指正。

注意
dm8试用版只有一年试用期,所以开发版建议下载日期最新的,不然最后初始化实例时,你会发现都快过期了

下载
在这里插入图片描述

一、安装前准备

新建 dmdba 用户
安装前必须创建 dmdba 用户,禁止使用 root 用户安装数据库。
创建用户所在的组

groupadd dinstall

创建用户

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

修改用户密码

passwd dmdba

修改文件打开最大数,重启服务器后永久生效

vim /etc/security/limits.conf

在最后添加四条语句

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

先设置参数临时生效

su - dmdba
ulimit -n 65536

挂载镜像
切换到 root 用户
将dm8_20230104_x86_rh6_64.iso上传/usr/local/dm8

mount -o loop /usr/local/dm8/dm8_20230104_x86_rh6_64.iso /mnt

新建安装目录

mkdir /dm8

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

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

chown dmdba:dinstall -R /dm8/

给安装路径下的文件设置权限 755或者777都行

chmod -R 755 /dm8

在这里插入图片描述

二、命令行安装

确保用户dmdba权限足的情况后

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

在这里插入图片描述
按需求选择安装语言,默认为中文。本地安装选择【不输入 Key 文件】,选择【默认时区 21】。
在这里插入图片描述

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

踩坑
踩坑一:请选择安装目录,输入自己的路径后,报“没有写入权限”
解决:
首先排查dmdba对你的路径操作权限是否充足,其他包括/tmp临时文件、挂载文件、mnt、安装文件dm8;
不足切换root则文件依次授权

chmod -R 777 /dm8

未解决,然后排查临时文件大小和安装文件dm8大小

//查看tmp大小
df -h
//重新设置临时文件tmp大小,然后重启生效
vim /etc/fstab
修改下面一行(没有的话加入这行)
tmpfs /tmp tmpfs nodev,nosuid,size=2G 0 0
将/tmp文件更改为2G的空间,此操作需要重启才能生效。

安装文件大小不足,则关机,重新设置大小
在这里插入图片描述
踩坑二:中断安装步骤后,或者直接报tmp临时文件内存不足
解决:重新设置tmp大小

//重新设置临时文件tmp大小,然后重启生效
vim /etc/fstab
修改下面一行(没有的话加入这行)
tmpfs /tmp tmpfs nodev,nosuid,size=2G 0 0
将/tmp文件更改为2G的空间,此操作需要重启才能生效。

踩坑三:银河麒麟系统安装达梦数据库选择时区报错处理
所需空间: Error occurred during initialization of VM

//安装时区
yum install libnsl

配置环境变量

切换到 root 用户进入 dmdba 用户的根目录下,配置对应的环境变量。DM_HOME 变量和动态链接库文件的加载路径在程序安装成功后会自动导入。
编辑 .bash_profile

cd /dm8
vim .bash_profile
//加入下面代码
export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool

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

su - dmdba
source .bash_profile

命令行配置实例

使用 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=/dm8/data db_name=DM01 instance_name=DMSERVER01 port_num=5238 PAGE_SIZE=16 EXTENT_SIZE=16 CHARSET=1

踩坑一:
使用官文档的命令

./dminit path=/dm/data
//也可以自定义初始化实例的参数,参考如下示例:
//以下命令设置页大小为 32 KB,簇大小为 32 KB,大小写敏感,字符集为 utf_8,数据库名为 DMDB,实例名为 DBSERVER,端口为 5237。
./dminit path=/dm/data PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y
CHARSET=1 DB_NAME=DMDB INSTANCE_NAME=DBSERVER PORT_NUM=5237

失败。
解决:
不使用它的,自定义初始化

./dminit path=/dm8/data db_name=DM01 instance_name=DMSERVER01 port_num=5238 PAGE_SIZE=16 EXTENT_SIZE=16 CHARSET=1

在这里插入图片描述

命令行注册服务

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

cd /dm8/script/root

注册服务

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

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

./dm_service_installer.sh -h

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

cd /dm8/tool
./dbca.sh

踩坑
开始我安装的是19年开发版,后来发现使用时间还剩10来天,果断卸载,安装最新版开发版的

命令行启停数据库

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

systemctl start DmServiceDMSERVER.service

停止数据库

systemctl stop DmServiceDMSERVER.service

重启数据库

systemctl restart DmServiceDMSERVER.service

查看数据库服务状态

systemctl status DmServiceDMSERVER.service

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

./dmserver /dm/data/DM01/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.
解决:
把dmdbms/bin目录下面的libproj.so和libxqilla.so移动到其他目录然后再启动服务
在这里插入图片描述

卸载DM8

命令行卸载
DM 安装目录下执行./uninstall.sh -i 卸载 DM 数据库;

cd /dm8
./uninstall.sh -i

请确认是否卸载达梦数据库(/dm8/)? (y/Y:是 n/N:否):y
是否删除dm_svc.conf配置文件? (y/Y:是 n/N:否):y

使用root用户执行

/dm8/root_uninstaller.sh

删除DmAPService服务

rm -rf /etc/systemd/system/multi-user.target.wants/DmAPService.service.

删除/etc/dm_svc.conf文件

rm -rf  /etc/dm_svc.conf

删的干净点,找找是不是还有相关文件,找到就删了

whereis dm
find dm

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

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

相关文章

10个你从未想过的 ChatGPT 有趣用途

这篇文章向我们展示了ChatGPT的有趣用途,如创作独特的故事、写作协助、模拟对话和游戏等。这些应用展示了ChatGPT的强大功能和灵活性。通过这些有趣的例子,我们可以看到ChatGPT作为一种人工智能技术在生活中的实际应用和潜力。无论是娱乐还是实用&#x…

基于matlab的长短期神经网络lstm的股票预测

目录 背影 摘要 LSTM的基本定义 LSTM实现的步骤 基于长短期神经网络LSTM的股票预测 MATALB编程实现,附有代码,及链接基于matlab编程的的长短期神经网络LSTM的股票价格的预测,基于深度学习神经网络的股票价格预测-深度学习文档类资源-CSDN文库…

基于SpringBoot的线上日志阅读器

软件特点 部署后能通过浏览器查看线上日志。支持Linux、Windows服务器。采用随机读取的方式,支持大文件的读取。支持实时打印新增的日志(类终端)。支持日志搜索。 使用手册 基本页面 配置路径 配置日志所在的目录,配置后按回车…

new和delete相关知识点

new和delete基本介绍 malloc 和free 是C函数 new和delete是C的运算符 malloc失败是通过返回值和nullptr作比较;而new开辟内存失败,是通过抛出bad_alloc类型的异常来判断的 new不仅可以做内存开辟,还可以做内存初始化操作 malloc和new的区…

一、MyBatis简介:MyBatis历史、MyBatis特性、和其它持久化层技术对比、Mybatis下载依赖包流程

文章目录 一、MyBatis简介1.1 MyBatis历史1.2 MyBatis特性1.3 和其它持久化层技术对比1.4 Mybatis下载依赖包流程 一、MyBatis简介 1.1 MyBatis历史 ​ MyBatis最初是Apache的一个开源项目iBatis, 2010年6月这个项目由Apache Software Foundation迁 移到了Google Code。随着开…

【每日一题】4978:宠物小精灵之收服

目录 一:题目 二:分析 三:代码实现 一:题目 一天,小智和皮卡丘来到了小精灵狩猎场,里面有很多珍贵的野生宠物小精灵。小智也想收服其中的一些小精灵。然而,野生的小精灵并不那么容易被收服…

MySql,

SQL语句分类 DDL:数据定义语句【create 表,库...】DML:数据操作语句【增加insert,修改update,删除delete】DQL:数据查询语句【select】DCL:数据控制语句【管理数据库:比如用户权限grant&#xf…

DITA技巧:图支持热点链接

- 1 - 场景 在文档或者手册中,我们常希望用户点击图上的某个对象自动跳转到这个对象的文字说明。 比如:点击下边爆炸图中的数字,跳转到这个数字指向的零件的说明。 比如:点击下图中的按钮,了解每个按钮的功能。 - 2…

2023增长为王,消费者数字化逆向重构消费企业

2023年对于消费企业来说,最大的主题就是回归增长。据不完全统计,2022年关闭的线下门店超过7400家,倒闭的底商不计其数,很多消费上市企业业绩表现不及预期,新上市企业数量和募资额度均减少…… 自从2015年后电商流量红…

大数据Doris(五):FE 扩缩容

文章目录 FE 扩缩容 一、通过MySQL客户端连接Doris 二、FE Follower扩缩容 1、准备 FE 安装包 2、在 node2 、 node3 上修改 fe.conf 配置文件 3、在 node2 、 node3 上启动 FE 4、添加 FE Follower 到 Doris 集群 三、FE Observer 扩缩容 1、准备 FE 安装包 2、在 n…

02 KVM安装虚拟化

文章目录 02 KVM安装虚拟化2.1 最低硬件要求2.2 安装虚拟化核心组件2.2.1 安装方法2.2.1.1 前提条件2.2.1.2 安装步骤 2.2.2 验证安装是否成功 02 KVM安装虚拟化 2.1 最低硬件要求 在openEuler系统中安装虚拟化组件,最低硬件要求: AArch64处理器架构&…

势能回馈系统超级电容储能系统介绍

在港口现有的常规单传动变频驱动系统中,门机在起升机构下降以及其他主要机构减速过程中,下降的势能和制动的动能将产生的再生能量传递给交流电动机后转换成再生电能,而单传动所配置的变频驱动系统通常通过采用制动单元和制动电阻将再生电能转…

一分钟图情论文:《数智时代情报学与情报工作的发展透视》

数智时代情报学与情报工作的发展透视 当前,以人工智能、大数据和云计算为代表的数智技术在社会各个领域的应用中发挥了独特而强大的作用,这对传统的情报学和情报工作带来了巨大的冲击和挑战。然而,这也为情报学和情报工作带来了机遇和发展空…

小白入门之args, *args, **kwargs

目录 一、介绍: 二、实例: 2.1 args 2.2 *args 2.2.1 基础版 2.2.2 进阶版 2.3 **kwargs 2.4 *args 和**kkwargs连用 一、介绍: 首先,不是必须写成*args和**kwargs,只有变量前面星号*才是必须的。也可以写成*…

[前端基础]promise的基本使用(包括async,await语法糖)

目录 1.什么是promise 2.关于promise对象 3.promise常用API 4.promise链式调用 5.async和await语法糖 1.什么是promise 众所周知,在以往,我们处理异步操作主要是通过回调函数处理 setTimeout(()>{},100); 例如这个定时器,异步操作会通过时间循环队列实现. 但是比如说…

PID控制---基于python模拟

PID是控制中非常经典的一个模型,利用P(比例)、I(微分)、D(积分)三者相互合作来实现对一个信号的闭环控制,同时可以让信号波形平滑变化而不是突变。以下主要是结合一个python实现的控制速度的程序来模拟PID的过程。 参考博客:电机控制进阶——…

SOA与中间件、基础件的发展

应运而生的SOA   美国著名的IT市场研究和顾问咨询公司Gartner预测:到2006年,采用面向服务的企业级应用将占全球销售出的所有商业应用产品的80 以上到2008年,SOA将成为绝对主流的软件工程实践方法。近几年全球各大IT巨头纷纷推出自己的面向服务的应用平…

WordPress切换为经典编辑器可视化/文本切换不显示解决方法

WordPress文章编辑器切换为经典编辑器可视化/文本状态无法切换消失的问题有用户遇到过,出现这样的问题时,我们首先应该回忆一下,之前自己进行了哪些操作导致这种情况的出现,比如: 更换了新主题? 安装了新插…

软考高项 - 计算公式汇总整理

大家好,我是陈哈哈,我准备参加23年5月份的软考信息项目管理师考试,学习之余还是习惯做一些重点、考点的记录,用于自己复习,以及分享给日后考试的考友,啥都不说了,祝通过🌹&#x1f3…

【设计模式】UML类图与软件设计原则

1,设计模式概述 1.1 软件设计模式的产生背景 "设计模式"最初并不是出现在软件设计中,而是被用于建筑领域的设计中。 1977年美国著名建筑大师、加利福尼亚大学伯克利分校环境结构中心主任克里斯托夫亚历山大(Christopher Alexand…