本文安装使用 CentOS7 操作系统,为 x86_64 架构,安装步骤全部以命令行方式,安装过程为参考达梦官方文档后的总结。安装完成后使用SrpingBoot+druid连接DM数据库,使用Maven来管理项目的构建,开发工具使用IntelliJ IDEA。

新建 dmdba 用户

在安装达梦数据库之前需要创建一个管理DM数据库的专有用户来安装和运行DM数据库,具体操作细节如下:

1.Linux创建用户所在的组dinstall,如下:

groupadd dinstall

2.Linux创建用户dmdba,如下:

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

3.修改dmdba用户的密码,如下:

passwd dmdba

4.修改文件打开最大数(注:重启服务器永久生效)
创建完用户后需要检查一下操作系统限制。为了使 DM数据库能够正常的运行,建议用户检查当前安装用户的 ulimit 参数,运行ulimit a 进行查询 。 如 下图所示:

如果参数值过小可能导致数据库安装失败或者数据库启动失败,使用 vi 编辑器打开 /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 soft memlock -1
dmdba hard memlock -1
dmdba soft data -1
dmdba hard data -1

然后切换到 dmdba 用户,查看参数是否生效,具体命令如下:

su - dmdba
ulimit -a

设置参数临时生效可使用 dmdba 用户执行如下命令,使设置临时生效:

ulimit -n 65536

挂载镜像

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

mount -o loop /opt/dm8_20201112_x86_rh7_64_ent_8.1.1.144 /mnt

安装路径

数据库默认安装在/home/dmdba/dmdbms路径下

数据库安装

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

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

根据自己的需求选择安装语言,默认为中文。本地安装选择【不输入 Key 文件】,选择【默认时区 21】。

选择【1-典型安装】,按默认的安装目录完成数据库软件安装。

数据库安装大概需要几分钟的时间,数据库安装完成后,需要切换至 root 用户执行命令

/home/dmdba/dmdbms/script/root/root_installer.sh

创建 DmAPService,AP服务创建后才能对数据库进行备份,否则会提示管道连接失败。

配置实例

配置实例必须使用dmdba用户,进入到 DM 数据库安装目录下的 bin 目录中,使用 dminit 命令初始化实例。dminit 命令可设置多种参数,可执行如下命令查看可配置参数。

./dminit help


也可以使用默认参数初始化实例,需要附加实例存放路径,命令如下:

./dminit path=/dm/data

需要注意的是页大小 (page_size)、簇大小 (extent_size)、大小写敏感 (case_sensitive)、字符集 (charset) 这四个参数,一旦确定无法修改,需谨慎设置,详细参数可通过help查看,

  • 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。
    以下命令设置页大小为 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

注册服务

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

cd /home/dmdba/dmdbms/script/root

注册服务,如下所示:

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

启动数据库实例

进入bin目录下 /dm8/bin 启动数据库服务,命令如下:

./DmServiceDMSERVER start


数据库启动成功。

SpringBoot工程添加DM驱动jar包依赖

因本工程使用的Meven来管理项目的构建,所以通过Meven引入jar包的方式加入DM数据库的驱动包依赖,达梦8 JDBC驱动分为三个版本,具体如下:

1. DmJdbcDriver16 对应 Jdk1.6 及以上环境
2. DmJdbcDriver17 对应 Jdk1.7 及以上环境
3. DmJdbcDriver18 对应 Jdk1.8 及以上环境

如果DM驱动包上传本地Maven私服则根据自己实际情况引入依赖,例如:

<!--达梦数据库驱动-->
<dependency><groupId>com.dameng</groupId><artifactId>DmJdbcDriver</artifactId><version>8.0</version>
</dependency>

如果没有搭建本地Maven可通过本地引入的方式添加依赖,具体如下:

<!--达梦数据库驱动-->
<dependency><groupId>com.dameng</groupId><artifactId>DmJdbcDriver</artifactId><version>2.8</version><scope>system</scope><systemPath>${project.basedir}/lib/DmJdbcDriver18.jar</systemPath>
</dependency>

引入druid连接池jar包

在Meven的pom.xml配置文件中添加druid的j依赖,具体如下:

 <!--druid--><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.2.5</version></dependency>

SpringBoot配置数据源

在application.properties中添加数据库驱动,URL以及数据库账号密码根据自己的实际情况填写,具体如下:

################## 数据库配置 ################
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.druid.driver-class-name=dm.jdbc.driver.DmDriver
spring.datasource.druid.url=jdbc:dm://127.0.0.1:5236
spring.datasource.druid.username=GUITAR
spring.datasource.druid.password=888888888

配置 Druid 数据源监控

################## 连接池配置 ################
#连接池建立时创建的初始化连接数
spring.datasource.druid.initial-size=10
#连接池中最大的活跃连接数
spring.datasource.druid.max-active=100
#连接池中最小的活跃连接数
spring.datasource.druid.min-idle=10
# 配置获取连接等待超时的时间
spring.datasource.druid.max-wait=60000
# 打开PSCache,并且指定每个连接上PSCache的大小
spring.datasource.druid.pool-prepared-statements=true
spring.datasource.druid.max-pool-prepared-statement-per-connection-size=20
spring.datasource.druid.validation-query=SELECT 1 FROM DUAL
spring.datasource.druid.validation-query-timeout=30000
# 配置StatFilter
spring.datasource.druid.filter.stat.enabled=true
spring.datasource.druid.filter.stat.db-type=dm
spring.datasource.druid.filter.stat.log-slow-sql=true
spring.datasource.druid.filter.stat.slow-sql-millis=2000
# 配置WallFilter 防火墙不支持达梦,必须关闭
spring.datasource.druid.filter.wall.enabled=false
# WebStatFilter配置,说明请参考Druid Wiki,配置_配置WebStatFilter
spring.datasource.druid.web-stat-filter.enabled=true
spring.datasource.druid.web-stat-filter.url-pattern=/*
spring.datasource.druid.web-stat-filter.exclusions=*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*
# Spring监控配置,说明请参考Druid Github Wiki,配置_Druid和Spring关联监控配置
spring.datasource.druid.aop-patterns=com.heb.guitar.service.*,com.heb.guitar.controller.*,com.heb.guitar.mapper.*
#是否在获得连接后检测其可用性
spring.datasource.druid.test-on-borrow=false
#是否在连接放回连接池后检测其可用性
spring.datasource.druid.test-on-return=false
#是否在连接空闲一段时间后检测其可用性
spring.datasource.druid.test-while-idle=true
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
spring.datasource.druid.time-between-eviction-runs-millis=60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
spring.datasource.druid.min-evictable-idle-time-millis=300000
# 监控后台账号和密码
spring.datasource.druid.stat-view-servlet.enabled=true
# StatViewServlet配置,说明请参考Druid Wiki,配置_StatViewServlet配置
spring.datasource.druid.stat-view-servlet.url-pattern= /druid/*
spring.datasource.druid.stat-view-servlet.reset-enable= false
spring.datasource.druid.stat-view-servlet.login-username=admin
spring.datasource.druid.stat-view-servlet.login-password=888888888

配置WallFilter 防火墙不支持达梦,必须关闭,否侧程序会出现异常。

验证程序连接DM数据库

配置完成后,启动程序,在浏览器访问:http://localhost:8080/druid/login.html

登陆之后查看数据源信息表示连接DM数据库成功。

更详细有关DM数据库相关文档,点击访问达梦数据库官网→

Linux下安装DM数据库及SrpingBoot+druid连接DM数据库相关推荐

  1. linux下安装oracle客户端,实现远程连接oracle库,导出数据表

    工作中用到不安装oracle服务端,只安装客户端. 一:首先要到下载rpm包,使用如下,命令安装 rpm -ivh oracle/oracle-instantclient11.2-basic-11.2 ...

  2. 【已解决】Linux下安装MySQL数据库

    [经验贴]安装环境为:Ubuntu12.04,MySQL5.5.28 在Linux下安装MySQL有三种方式:第一种以rpm的二进制文件分个安装,第二种是自己编译源码后安装,最后一种是以二进制tar. ...

  3. Linux下安装informix11.5数据库

    研究了好几天了,终于装上了,下面我就来给大家分享一下我安装informix数据库的过程吧. Linux下安装informix数据库 1.准备安装文件 a)       到IBM官方网站下载inform ...

  4. linux下安装mysql数据库[yum install版]

    原文链接:linux下安装mysql数据库[yum install版] 在CentOS7中默认安装有MariaDB,这个是MySQL的分支,yum直接覆原有MariaDB, 或安装包报错无法解决依赖问 ...

  5. 定时任务-Quartz、Mycat简单入门、Linux下安装MySQL、Linux下安装MyCAT、Mycat的数据库分片、Mycat读写分离

    表现层:页面 后台管理系统.商城门户.搜索系统.订单系统.商品详情系统.购物车系统 中间件:dubbo 系统之间的通信,服务的统计,rpc协议远程过程调用 同步通信 服务层:实现具体的业务逻辑 商品服 ...

  6. linux下使用的mysql数据库,Linux下安装以及使用MySQL数据库

    1.官网下载mysql数据库:https://dev.mysql.com/downloads/mysql/ 2.linux 下可直接下载:wget https://cdn.mysql.com//Dow ...

  7. 如何在Linux下安装Docker

    如何在Linux下安装Docker Docker概念: Docker包括三个基本概念: l  镜像(Image) l  容器(Container) l  仓库(Repository) 理解了这三个概念 ...

  8. 如何在Linux下安装MySQL8.0

    如何在Linux下安装MySQL8.0 准备工作: mysql8.0 rpm文件 测试工具(比如 idea的database工具) 安装步骤: 1.     下载mysql的repo源,下载地址:ht ...

  9. Linux下安装JDK,Tomcat,Mysql详细教程

    1. 概述 今天教大家在linux下安装jdk,mysql以及tomcat.在javaweb开发中,最后完成的项目代码,一般都是布在linux服务器下的.因为linux服务器可以说是安全性稳定性都比w ...

最新文章

  1. Nreal招聘|SLAM、深度学习、服务器开发工程师等岗位(校招/社招)
  2. Linux命令如何显示光标
  3. NYOJ 267 郁闷的C小加(二)
  4. 为进阶Linux大佬打牢地基
  5. 数据结构与算法之美-哈希算法
  6. IIS之错误解决之道
  7. 断点续传的原理剖析与实例讲解
  8. apollo @value没生效_不问不要紧,一文要人命,绝对的面试加分项配置中心Apollo深度解读...
  9. java权限管理selor_Java进阶学习第四天——DOM入门
  10. python实现MD5加密工具
  11. java web基础视频教程_java web开发入门视频教程
  12. 【矩阵论笔记】过渡矩阵
  13. psm倾向得分匹配法举例_【计量地图】倾向得分匹配法(PSM)理论、操作与案例...
  14. 【4分频电路 -verilog】
  15. Qt编写安防视频监控系统10-视频轮询
  16. Unity3D教程:如何利用Shader实现钻石渲染效果
  17. beeline : Error: Could not open client transport with JDBC 连接失败
  18. 国产处理器瑞芯微RK3568对比RK3399性能解析-迅为开发板
  19. 【RSA-Tool 2 by tE】的使用
  20. CKEditor&ckfindtor

热门文章

  1. c++读取文件夹中文件
  2. c++bind函数使用
  3. Matlab处理气象数据(七)分段趋势线的做法
  4. 从零开始的人工智能学习(序)
  5. 【Python】django报错:TypeError: __init__() missing 1 required positional argument: 'on_delete'解决办法
  6. 直播界的新玩法:你又套路用户!只要钱到位,榜单全干碎
  7. Python新建三维数组并赋值
  8. 加密机PKCS#11国际加密标准解读-概念和常用接口函数(1)
  9. 爬虫学习3---requests库深入学习
  10. java中编写敏感词过滤程序_Java敏感词过滤