centos7.9 安装DM8数据库

DM8数据库安装

系统 配置 IP
Centos7.9 2c8g 192.168.9.33

简介

​ 达梦数据库(DAMENG Database)是一款完全自主知识产权的高性能数据库管理系统,由武汉达梦数据库有限公司研发和推广。这款数据库不仅支持标准的SQL语句,还提供了丰富的功能和工具,以满足不同行业和应用场景的需求。作为一款国产数据库,达梦在安全性、稳定性和兼容性方面表现出色,被广泛应用于政府、军工、金融、能源等多个关键领域。达梦数据库的成功研发和推广应用,不仅打破了国外数据库产品在国内市场的垄断地位,也为我国信息化建设提供了可靠的数据管理解决方案。

​ 达梦数据库的发展始于20世纪80年代,经过几十年的持续研发和技术积累,已经成为国内领先的数据库管理系统之一。达梦数据库不仅在国内市场占据重要地位,还积极拓展国际市场,为全球用户提供高效、稳定的数据管理服务。达梦数据库的成功案例包括国家电网、南方电网、中国人民银行、中国农业银行等大型企业和机构,这些案例充分证明了达梦数据库的高性能和可靠性。

主要特点

达梦数据库的主要特点包括:

● 安全性高:提供了完善的安全机制,包括数据加密、访问控制和审计功能,确保用户数据的安全性和完整性。达梦数据库在安全性方面达到了国际先进水平,通过了多项国际安全认证,如CC EAL4+和ISO 27001,这为用户在关键应用场景中的应用提供了有力保障。

● 跨平台支持:支持多种操作系统,如Windows、Linux、Unix等,可以在不同的硬件环境中稳定运行。达梦数据库的跨平台特性使得用户可以在不同的硬件和操作系统环境中灵活部署和管理数据库,提高了系统的兼容性和可扩展性。

● 扩展性好:支持水平扩展和高可用性集群部署,可以满足大规模数据处理和高并发访问的需求。达梦数据库通过引入分布式数据库技术,实现了数据的分片存储和并行处理,提高了系统的扩展性和性能。

● 易用性:提供了丰富的管理工具和开发接口,简化了数据库的安装、配置和管理过程,降低了用户的使用门槛。达梦数据库的管理工具包括图形化管理工具和命令行工具,用户可以根据自己的习惯和需求选择最合适的管理方式。此外,达梦数据库还提供了丰富的开发接口,支持多种编程语言,如Java、C++、Python等,方便用户进行应用程序的开发和维护。

准备

dm8_20250506_x86_rh7_64.zip的安装包

百度网盘分享:dm8_20250506_x86_rh7_64.zip
链接: https://pan.baidu.com/s/1Cw3HLOQHWanHuzkwP90GRg?pwd=4922

提取码: 4922

该包包含了

[root@localhost ~]# ll
-rw-r--r--. 1 root root 945657856 5月 12 10:53 dm8_20250506_x86_rh7_64.iso
-rw-r--r--. 1 root root 100 5月 12 10:53 dm8_20250506_x86_rh7_64.iso_SHA256.txt
-rw-r--r--. 1 root root 240 5月 12 10:53 dm8_20250506_x86_rh7_64.README
-rw-r--r--. 1 root root 930051413 6月 17 15:54 dm8_20250506_x86_rh7_64.zip
[root@localhost ~]#

安装软件

1.新建dmdba用户给达梦数据库使用

[root@localhost ~]# groupadd dinstall
[root@localhost ~]# useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba

2.修改资源限制
在/etc/security/limits.conf文件最后添加下面内容

[root@localhost ~]# vim /etc/security/limits.conf
#dmdba用户可以打开的最大的文件描述符数量,默认1024,这里的数值会限制tcp连接
dmdba hard nofile 65536
dmdba soft nofile 65536
#堆栈大小
dmdba hard stack 32768
dmdba soft stack 16384

保存后,切换为dmdba用户,查看是否生效

[root@localhost ~]# su - dmdba
[root@localhost ~]# ulimit -a 
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 23128
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 65536
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 16384
cpu time               (seconds, -t) unlimited
max user processes              (-u) 4096
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

3.修改内核参数
在/etc/sysctl.conf文件最后加上如下内容

[root@localhost ~]# vim /etc/sysctl.conf
fs.file-max = 6815744   #系统所有进程可以打开的文件句柄的最大数量
fs.aio-max-nr = 1048576   #同时可以拥有的的异步IO请求数目
kernel.shmmni = 4096   #系统范围内共享内存段的最大数量
kernel.sem = 250 32000 100 128  #表示设置的信号量
net.ipv4.ip_local_port_range = 9000 65500    #用户进程通信时分配给用户的端口区间
net.core.rmem_default = 4194304  #默认接收缓冲区大小
net.core.rmem_max = 4194304  #接收缓冲区最大值
net.core.wmem_default = 262144  #默认的发送缓冲区大小
net.core.wmem_max = 1048576   #发送缓冲区最大值
vm.swappiness = 0     #表示最大限度使用物理内存,然后才是 swap空间
vm.dirty_background_ratio = 3  #内存可以填充脏数据的百分比。这些脏数据稍后会写入磁盘
vm.dirty_ratio = 80    #可以用脏数据填充的绝对最大系统内存量,当系统到达此点时,必须将所有脏数据提交到磁盘,同时所有新的I/O块都会被阻塞,直到脏数据被写入磁盘
vm.dirty_expire_centisecs = 500    #指定脏数据能存活的时间ms
vm.dirty_writeback_centisecs = 100    #指定多长时间 pdflush/flush/kdmflush 这些进程会唤醒一次,然后检查是否有缓存需要清理。




[root@localhost ~]# sysctl -p

4.挂载安装软件镜像,创建软件安装目录,执行安装文件

#解压
[root@localhost ~]# unzip dm8_20250506_x86_rh7_64.zip
#挂载
[root@localhost ~]# mount dm8_20250506_x86_rh7_64.iso /mnt
mount: /dev/loop0 写保护,将以只读方式挂载
#创建软件安装目录dm8,且修改目录所属用户为dmdba用户
[root@localhost ~]# mkdir /dm8
[root@localhost ~]# chown -R dmdba.dinstall /dm8/

#切换dmdba用户,进入挂载目录执行安装文件
[root@localhost ~]# su - dmdba
[dmdba@localhost ~]$ cd /mnt/
[dmdba@localhost mnt]$ ls
DM8 Install.pdf  DMInstall.bin
[dmdba@localhost mnt]$ ./DMInstall.bin -i

安装结束后。执行下面的命令

[dmdba@localhost mnt]$ exit
登出
[root@localhost ~]# /dm8/script/root/root_installer.sh
移动 /dm8/bin/dm_svc.conf 到/etc目录
创建DmAPService服务
Created symlink from /etc/systemd/system/multi-user.target.wants/DmAPService.service to /usr/lib/systemd/system/DmAPService.service.
创建服务(DmAPService)完成
启动DmAPService服务

至此软件安装完成

创建数据库实例

1.创建数据库实例存放目录

[root@localhost ~]# su - dmdba
[dmdba@localhost ~]$ mkdir /dm8/data
[dmdba@localhost ~]$ cd /dm8/bin/

2.使用dminit工具初始化数据库实例

[dmdba@localhost bin]$ ./dminit path=/dm8/data \
SYSDBA_PWD=Admin123 \
SYSAUDITOR_PWD=Aadmin123 \
PAGE_SIZE=32 LOG_SIZE=2048 CASE_SENSITIVE=Y PORT_NUM=5236 \
DB_NAME=DAMENG INSTANCE_NAME=DMSERVER EXTENT_SIZE=16 BLANK_PAD_MODE=0

输入./dminit help,可以查看相关参数介绍
SYSDBA_PWD=Admin123(设置系统用户SYSDBA密码)
path=/dm8/data (数据库实例目录)
PAGE_SIZE=32 (页大小32K)
LOG_SIZE=2048 (联机日志文件大小,测试开发环境可以调小点,但过小会导致日志频繁切换,影响性能,一般建议2048)
CASE_SENSITIVE=N (大小写不敏感)
PORT_NUM=5236 (数据库监听端口)
DB_NAME=DAMENG (数据库名)
INSTANCE_NAME=DMSERVER (数据库实例名)
EXTENT_SIZE=16 (簇大小)
BLANK_PAD_MODE=0 (设置字符串比较时,结尾空格填充模式 是否兼容 ORACLE 取值 0 或 1。0 不兼容,1 兼容。默认为 0)

3.前台启动一次数据库

[dmdba@localhost bin]$ cd /dm8/bin
[dmdba@localhost bin]$ ./dmserver /dm8/data/DAMENG/dm.ini

加载一会出现SYSTEM IS READY 提示实例启动成功 
输入exit退出前台启动

4.关闭防火墙

[root@localhost ~]# systemctl stop firewalld

5.注册数据库实例服务

执行./dm_service_installer.sh help可以查看脚本参数介绍
这里-t参数是服务类型,-p为服务名后缀,-dm_ini是数据库实例配置文件
-m表示启动实例状态

[root@localhost ~]# cd /dm8/script/root/
[root@localhost root]# ./dm_service_installer.sh -t dmserver -p DAMENG -dm_ini /dm8/data/DAMENG/dm.ini -m open
Created symlink from /etc/systemd/system/multi-user.target.wants/DmServiceDAMENG.service to /usr/lib/systemd/system/DmServiceDAMENG.service.
创建服务(DmServiceDAMENG)完成

[root@localhost root]# systemctl start DmServiceDAMENG

连接数据库

[root@localhost ~]#  su - dmdba
[root@localhost ~]# cd /dm8/bin
[root@localhost bin]# ./disql SYSDBA/Admin123@localhost:5236

服务器[localhost:5236]:处于普通打开状态
登录使用时间 : 6.444(ms)
disql V8
SQL> 

关闭数据库

root用户执行
systemctl stop DmServiceDAMENG 
systemctl stop DmAPService

需要重新启动,则以上命令用start即可

posted @ 2025-06-18 09:25  谢墨尘  阅读(104)  评论(0)    收藏  举报