陈老老老板🦸 👨💻本文专栏:国产数据库-达梦数据库(主要讲一些达梦数据库相关的内容)
👨💻本文简述:本文讲一下达梦数据库的下载与安装教程(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了,完结撒花,要是有问题就私聊我!!!
总结:国产化是一个不可避免的趋势,整合国产数据库是必须要掌握的一步。希望对您有帮助,感谢阅读
结束语:裸体一旦成为艺术,便是最圣洁的。道德一旦沦为虚伪,便是最下流的。
勇敢去做你认为正确的事,不要被世俗的流言蜚语所困扰。