草庐IT

Linux部署达梦数据库超详细教程

陈老老老板 2023-04-10 原文
陈老老老板🦸
👨‍💻本文专栏:国产数据库-达梦数据库
👨‍💻本文简述:本文讲一下达梦数据库的下载与安装教程(Linux版),超级详细。
👨‍💻上一篇文章: 达梦数据库安装与初始化超详细教程
👨‍💻有任何问题,都可以私聊我,我能帮得上的一定帮忙,感谢大佬们支持。
🦹我认为人人都可以学好编程,我愿意成为你的领路人!(需内推私聊)

一、人大金仓数据库简介

说明:有关国产数据库完整的博客太少了,所以就想弄一个完整的专栏给大家提供一些帮助。在现在这种国际形势下,网络安全是每个企业,乃至整个国家重中之重的事,国产化是一种趋势,在整合之前先了解一下达梦数据库。达梦数据库官网:本篇主要讲在Linux上部署达梦数据库教程。

1.达梦数据库管理系统是达梦公司推出的具有完全自主知识产权的高性能数据库管理系统,简称DM。
达梦数据库管理系统的最新版本是8.0版本,简称DM8。
2.DM8采用全新的体系架构,在保证大型通用的基础上,针对可靠性、高性能、海量数据处理和安全性做了大量的研发和改进工作,极大提升了达梦数据库产品的性能、可靠性、可扩展性,能同时兼顾OLTP和OLAP请求,从根本上提升了DM8产品的品质。

二、Linux部署达梦数据库

说明:本篇只讲用命令行安装达梦数据库,不讲可视化安装(不推荐使用可视化安装方式,最新版有bug)

系统环境:

  • 腾讯云
  • DM8
  • centos8
  • 连接工具FinalShell

注:因为我本身有服务器,没有服务器的小伙伴使用VMware,可以看我博客有安装教程有资源:安装VMware超详细教程,连接工具使用Xshell(新版收费了)与FinalShell(免费)都是一样的,也可以看我的博客:安装FinalShell超详细教程

1.创建用户与安装目录

说明:达梦官方推荐是创建新的用户进行安装,但是在公司自己私创用户是违规的,也可以直接使用root用户进行安装,新用户和使用root安装不同点我会标注出来。

 a、创建用户组dinstall.
  groupadd dinstall
 b、创建安装用户dmdba.
  useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
 c、初始化安装用户密码。(这里密码我使用的是dameng123)
  passwd dmdba
 d、创建安装程序临时目录(我习惯把安装的东西都放在local中,放在data中也可以)
  mkdir -p /local/dm/
 e、临时目录所有者及所属组变更。
  chown -R dmdba.dinstall /local/dm
 f、临时目录权限设置。
  chmod -R 664 /local/dm
实机演示:



1.下载

去官网下载dm8的ios包,然后传输到LInux中,(需要登录)官网链接:下载ios地址

将下载好的压缩包进行解压,在传入到linux的local中。输入命令cd / 在输入rz进行传输。

注:这里要注意存储空间是否够用,如果不够就安装到根目录下

2.进行挂载

说明:iso 后缀的文件,需要对文件进行挂载,我们将文件挂载到/mnt目录(哪个目录都可以,这样方便找,之后才是安装过程)下。命令如下:

mount -o loop /dm8_20230104_x86_rh6_64.iso /mnt

3.修改系统配置

说明:这里修改一下系统限制,否则之后在安装时可能报错。

vi /etc/security/limits.conf
按i 切换到Insert模式
粘贴之后按Esc,在输入:wq 保存并退出

4.切换新用户进行安装

说明:切换到dmdba用户执行安装,这里只展示命令行安装方式,不使用可视化(可视化很容易报错不推荐),命令行安装非常方便。命令如下:

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

a.请选择安装语言:c

b.是否输入key文件路径

(有则y,在填入key路径,无则n):n

c.是否设置时区:y,21

d.安装类型:1

e.请选择安装目录:/local/dm

是否确认安装路径:y

f.是否确认安装:y


最后成功样图:

5.注册数据库服务

说明:这里需要先切换回root用户在执行(如果直接使用root安装则跳过此步骤,bin是没有root_installer.sh的
命令:

su root
cd /local/dm/script/root
./root_installer.sh

6.初始化数据库实例

说明:初始化数据库实例,也就是创建数据库,
初始化实例的示例如下:设置页大小(PAGE_SIZE)为 32,日志大小(LOG_SIZE)为 2048,大小写(CASE_SENSITIVE)为敏感,字符集(CHARSET)为 UTF-8。命令如下:

cd /local/dm/bin
./dminit PATH=/local/dm/data PAGE_SIZE=32 LOG_SIZE=2048 CHARSET=1 CASE_SENSITIVE=Y


注:以下是参数说明
PATH
初始数据库存放的路径。默认路径为 dminit 当前所在的工作目录。文件路径长度最大为 256 个字符,PATH 为可选参数。

生产环境中,该路径可根据前期规划的路径进行修改,一般为最大空间路径。

EXTENT_SIZE
数据文件使用的簇大小,即每次分配新的段空间时连续的页数。取值:16、32、64。单位:页数。缺省值 16。EXTENT_SIZE 为可选参数。

生产环境中该参数保持默认即可。

PAGE_SIZE
数据文件使用的页大小。取值:8、16、32,单位:K。默认值为 8。可选参数。选择的页大小越大,则支持的元组长度也越大,但同时空间利用率可能下降。

在达梦数据库中,页大小可以为 8 KB、16 KB 或者 32 KB,一旦创建好了数据库,在该库的整个生命周期内,页大小都不能够改变。如果系统中存在或者以后可能存在含有较长的字符串类型的表,建议该参数设置为 16 或者 32。页大小设置越大,最后数据文件的物理大小就会越大,系统运行时,每次从磁盘调入内存的数据单位也就越大。除了每个字段的最大长度限制外,每条记录总长度不能大于页面大小的一半。
生产环境中该参数建议设置为 32,或依据用户实际需求进行指定。

LOG_SIZE
重做日志文件大小。取值:64~2048 之间的整数,单位 M 。默认值为 256。可选参数。每个数据库实例至少有两个重做日志文件,循环使用,LOG_SIZE 设置每个重做日志文件的大小。

生产环境中该参数建议给 2048,或依据用户实际需求进行指定。

CASE_SENSITIVE
标识符大小写敏感。当大小写敏感时,小写的标识符应当用 “” 括起,否则被系统自动转换为大写;当大小写不敏感时,系统不会转换标识符的大小写,在标识符比较时也不能区分大小写。取值:Y、y、1 表示敏感;N、n、0 表示不敏感。默认值为 Y 。可选参数。

DM 为了兼容不同的数据库,在初始化数据库的时候有一个参数字符串比较大小写敏感,用于确定数据库对象及数据是否区分大小写,默认为区分,不可更改。建议从 MYSQL 和 SQLSERVER 迁移过来的系统,使用大小写不敏感,ORACLE 迁移过来的系统,使用大小写敏感,以便和原来系统匹配。

生产环境中该参数依据用户实际需求进行指定。

更多内容可参考:详解 DM 数据库字符串大小写敏感。

CHARSET/UNICODE_FLAG
字符集选项。取值:0 代表 GB18030,1 代表 UTF-8,2 代表韩文字符集 EUC-KR。默认为 0。可选参数。

GB18030 编码向下兼容 GBK 和 GB2312,兼容的含义是不仅字符兼容,而且相同字符的编码也相同。GB18030 收录了所有 Unicode3.1 中的字符,包括中国少数民族字符,GBK 不支持的韩文字符等等,也可以说是世界大多民族的文字符号都被收录在内。

Unicode Transformation Format-8bit 是用以解决国际上字符的一种多字节编码。它对英文使用 8 位(即一个字节),中文使用 24 为(三个字节)来编码。UTF-8 包含全世界所有国家需要用到的字符,是国际编码,通用性强。UTF-8 编码的文字可以在各国支持 UTF8 字符集的浏览器上显示。

建议采用默认值 GB18030,如果需要国际字符可以采用 Unicode。GB18030 数字字母占 1 个字节,普通汉字占 2 个字节,部分繁体及少数民族文字占 4 字节。Unicode 在达梦中采用 UTF-8 编码格式,欧洲的字母字符占 1 到 2 个字节,亚洲的大部分字符占 3 个字节,附加字符为 4 个字节。如果只存储中文和字母数字,一般来说 GB18030 更节省空间一些。生产环境中该参数可依据用户实际需求进行指定。

LENGTH_IN_CHAR
VARCHAR 类型对象的长度是否以字符为单位。取值为 1 或者 Y 表示是,取值为 0 或 N 表示否。默认值为 0。可选参数。

取值为 1 或者 Y 表示所有 VARCHAR 类型对象的长度以字符为单位。这种情况下,定义长度并非真正按照字符长度调整,而是将存储长度值按照理论字符长度进行放大。所以会出现实际可插入字符数超过定义长度的情况,这种情况也是允许的。同时,存储的字节长度 8188 上限仍然不变,也就是说,即使定义列长度为 8188 字符,其实际能插入的字符串占用总字节长度仍然不能超过 8188;

取值为 0 或 N 表示所有 VARCHAR 类型对象的长度以字节为单位。

生产环境中该参数依据用户实际需求进行指定。

此参数配合字符集时,有多种搭配结果,详细内容可参考 length_in_char 和 CHARSET 组合使用效果详解。

DB_NAME
初始化数据库名称,默认为 DAMENG。名称为字符串,长度不能超过 128 个字符。可选参数。WINDOWS 下文件名不能包含字符 /*:? <>“|,LINUX 下文件名不能包含字符 /:<>”|。

生产环境中该参数一般保持默认,或依据用户实际需求进行指定。

INSTANCE_NAME
初始化数据库实例名称,默认为 DMSERVER。名称为字符串,长度不能超过 128 个字符。可选参数。
生产环境中该参数一般保持默认,或依据用户实际需求进行指定。

PORT_NUM
初始化时设置 dm.ini 中的监听端口号,默认 5236 。服务器配置此参数,有效值范围(1024~65534),发起连接端的端口在 1024~65535 之间随机分配。可选参数。

生产环境中该参数一般保持默认,或依据用户实际需求进行指定。

7.创建实例服务

cd /local/dm/script/root
./dm_service_installer.sh -t dmserver -dm_ini /local/dm/data/DAMENG/dm.ini -p DMSERVER

8.启动实例

说明:这里先将/local/dm这个文件的所属在交付给dmdba用户,否则容易出现文件所属不同,而报错无法启动的情况

chown -R dmdba:dinstall /local/dm/



所属一致的情况下在进行启动服务,这里密码是root的密码。

su dmdba
cd /local/dm/bin
service DmServiceDMSERVER start


查看服务状态

service DmServiceDMSERVER status

9.验证连接

说明:进入dmsql服务,进行连接。初始用户名:SYSDBA,密码:SYSDBA

cd /local/dm/bin
./disql


这就ok了,完结撒花,要是有问题就私聊我!!!

总结:国产化是一个不可避免的趋势,整合国产数据库是必须要掌握的一步。希望对您有帮助,感谢阅读

结束语:裸体一旦成为艺术,便是最圣洁的。道德一旦沦为虚伪,便是最下流的。
勇敢去做你认为正确的事,不要被世俗的流言蜚语所困扰。

有关Linux部署达梦数据库超详细教程的更多相关文章

  1. ruby - 解析 RDFa、微数据等的最佳方式是什么,使用统一的模式/词汇(例如 schema.org)存储和显示信息 - 2

    我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i

  2. ruby-on-rails - 每次我尝试部署时,我都会得到 - (gcloud.preview.app.deploy) 错误响应 : [4] DEADLINE_EXCEEDED - 2

    我是Google云的新手,我正在尝试对其进行首次部署。我的第一个部署是RubyonRails项目。我基本上是在关注thisguideinthegoogleclouddocumentation.唯一的区别是我使用的是我自己的项目,而不是他们提供的“helloworld”项目。这是我的app.yaml文件runtime:customvm:trueentrypoint:bundleexecrackup-p8080-Eproductionconfig.ruresources:cpu:0.5memory_gb:1.3disk_size_gb:10当我转到我的项目目录并运行gcloudprevie

  3. ruby - Ruby 有 `Pair` 数据类型吗? - 2

    有时我需要处理键/值数据。我不喜欢使用数组,因为它们在大小上没有限制(很容易不小心添加超过2个项目,而且您最终需要稍后验证大小)。此外,0和1的索引变成了魔数(MagicNumber),并且在传达含义方面做得很差(“当我说0时,我的意思是head...”)。散列也不合适,因为可能会不小心添加额外的条目。我写了下面的类来解决这个问题:classPairattr_accessor:head,:taildefinitialize(h,t)@head,@tail=h,tendend它工作得很好并且解决了问题,但我很想知道:Ruby标准库是否已经带有这样一个类? 最佳

  4. ruby - 我如何添加二进制数据来遏制 POST - 2

    我正在尝试使用Curbgem执行以下POST以解析云curl-XPOST\-H"X-Parse-Application-Id:PARSE_APP_ID"\-H"X-Parse-REST-API-Key:PARSE_API_KEY"\-H"Content-Type:image/jpeg"\--data-binary'@myPicture.jpg'\https://api.parse.com/1/files/pic.jpg用这个:curl=Curl::Easy.new("https://api.parse.com/1/files/lion.jpg")curl.multipart_form_

  5. 世界前沿3D开发引擎HOOPS全面讲解——集3D数据读取、3D图形渲染、3D数据发布于一体的全新3D应用开发工具 - 2

    无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD

  6. ruby-on-rails - Ruby on Rails 可以部署在 Azure 网站上吗? - 2

    我可以在Azure网站上部署RubyonRails吗? 最佳答案 还没有。目前仅支持.NET和PHP。 关于ruby-on-rails-RubyonRails可以部署在Azure网站上吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/12964010/

  7. FOHEART H1数据手套驱动Optitrack光学动捕双手运动(Unity3D) - 2

    本教程将在Unity3D中混合Optitrack与数据手套的数据流,在人体运动的基础上,添加双手手指部分的运动。双手手背的角度仍由Optitrack提供,数据手套提供双手手指的角度。 01  客户端软件分别安装MotiveBody与MotionVenus并校准人体与数据手套。MotiveBodyMotionVenus数据手套使用、校准流程参照:https://gitee.com/foheart_1/foheart-h1-data-summary.git02  数据转发打开MotiveBody软件的Streaming,开始向Unity3D广播数据;MotionVenus中设置->选项选择Unit

  8. 使用canal同步MySQL数据到ES - 2

    文章目录一、概述简介原理模块二、配置Mysql使用版本环境要求1.操作系统2.mysql要求三、配置canal-server离线下载在线下载上传解压修改配置单机配置集群配置分库分表配置1.修改全局配置2.实例配置垂直分库水平分库3.修改group-instance.xml4.启动监听四、配置canal-adapter1修改启动配置2配置映射文件3启动ES数据同步查询所有订阅同步数据同步开关启动4.验证五、配置canal-admin一、概述简介canal是Alibaba旗下的一款开源项目,Java开发。基于数据库增量日志解析,提供增量数据订阅&消费。Git地址:https://github.co

  9. postman接口测试工具-基础使用教程 - 2

    1.postman介绍Postman一款非常流行的API调试工具。其实,开发人员用的更多。因为测试人员做接口测试会有更多选择,例如Jmeter、soapUI等。不过,对于开发过程中去调试接口,Postman确实足够的简单方便,而且功能强大。2.下载安装官网地址:https://www.postman.com/下载完成后双击安装吧,安装过程极其简单,无需任何操作3.使用教程这里以百度为例,工具使用简单,填写URL地址即可发送请求,在下方查看响应结果和响应状态码常用方法都有支持请求方法:getpostputdeleteGet、Post、Put与Delete的作用get:请求方法一般是用于数据查询,

  10. ruby-on-rails - 创建 ruby​​ 数据库时惰性符号绑定(bind)失败 - 2

    我正在尝试在Rails上安装ruby​​,到目前为止一切都已安装,但是当我尝试使用rakedb:create创建数据库时,我收到一个奇怪的错误:dyld:lazysymbolbindingfailed:Symbolnotfound:_mysql_get_client_infoReferencedfrom:/Library/Ruby/Gems/1.8/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundleExpectedin:flatnamespacedyld:Symbolnotfound:_mysql_get_client_infoReferencedf

随机推荐