Linux下安装DM数据库及SrpingBoot+druid连接DM数据库

本文安装使用 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数据库相关文档,点击访问达梦数据库官网→

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,关于springboot整合druid配置,你可以按照以下步骤进行: 1. 在pom.xml文件中添加druid和jdbc依赖: ``` <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.2.6</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> ``` 2. 在application.properties文件中添加druid的配置: ``` # 数据源配置 spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false spring.datasource.username=root spring.datasource.password=root spring.datasource.driver-class-name=com.mysql.jdbc.Driver # Druid配置 spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring.datasource.druid.initial-size=5 spring.datasource.druid.min-idle=5 spring.datasource.druid.max-active=20 spring.datasource.druid.max-wait=60000 spring.datasource.druid.time-between-eviction-runs-millis=60000 spring.datasource.druid.min-evictable-idle-time-millis=300000 spring.datasource.druid.validation-query=SELECT 1 FROM DUAL spring.datasource.druid.test-while-idle=true spring.datasource.druid.test-on-borrow=false spring.datasource.druid.test-on-return=false spring.datasource.druid.pool-prepared-statements=true spring.datasource.druid.max-pool-prepared-statement-per-connection-size=20 spring.datasource.druid.filters=stat,wall,log4j spring.datasource.druid.connection-properties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 # Druid监控配置 spring.datasource.druid.stat-view-servlet.enabled=true 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=admin ``` 3. 在启动类上添加注解@EnableTransactionManagement和@Bean注解的方法创建DruidDataSource: ``` @SpringBootApplication @EnableTransactionManagement public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } @Bean @ConfigurationProperties(prefix = "spring.datasource.druid") public DataSource druidDataSource() { return new DruidDataSource(); } } ``` 以上就是整合druid的配置步骤,你可以根据自己的需求进行相应的修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值