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数据库相关文档,点击访问达梦数据库官网→
Linux下安装DM数据库及SrpingBoot+druid连接DM数据库相关推荐
- linux下安装oracle客户端,实现远程连接oracle库,导出数据表
工作中用到不安装oracle服务端,只安装客户端. 一:首先要到下载rpm包,使用如下,命令安装 rpm -ivh oracle/oracle-instantclient11.2-basic-11.2 ...
- 【已解决】Linux下安装MySQL数据库
[经验贴]安装环境为:Ubuntu12.04,MySQL5.5.28 在Linux下安装MySQL有三种方式:第一种以rpm的二进制文件分个安装,第二种是自己编译源码后安装,最后一种是以二进制tar. ...
- Linux下安装informix11.5数据库
研究了好几天了,终于装上了,下面我就来给大家分享一下我安装informix数据库的过程吧. Linux下安装informix数据库 1.准备安装文件 a) 到IBM官方网站下载inform ...
- linux下安装mysql数据库[yum install版]
原文链接:linux下安装mysql数据库[yum install版] 在CentOS7中默认安装有MariaDB,这个是MySQL的分支,yum直接覆原有MariaDB, 或安装包报错无法解决依赖问 ...
- 定时任务-Quartz、Mycat简单入门、Linux下安装MySQL、Linux下安装MyCAT、Mycat的数据库分片、Mycat读写分离
表现层:页面 后台管理系统.商城门户.搜索系统.订单系统.商品详情系统.购物车系统 中间件:dubbo 系统之间的通信,服务的统计,rpc协议远程过程调用 同步通信 服务层:实现具体的业务逻辑 商品服 ...
- linux下使用的mysql数据库,Linux下安装以及使用MySQL数据库
1.官网下载mysql数据库:https://dev.mysql.com/downloads/mysql/ 2.linux 下可直接下载:wget https://cdn.mysql.com//Dow ...
- 如何在Linux下安装Docker
如何在Linux下安装Docker Docker概念: Docker包括三个基本概念: l 镜像(Image) l 容器(Container) l 仓库(Repository) 理解了这三个概念 ...
- 如何在Linux下安装MySQL8.0
如何在Linux下安装MySQL8.0 准备工作: mysql8.0 rpm文件 测试工具(比如 idea的database工具) 安装步骤: 1. 下载mysql的repo源,下载地址:ht ...
- Linux下安装JDK,Tomcat,Mysql详细教程
1. 概述 今天教大家在linux下安装jdk,mysql以及tomcat.在javaweb开发中,最后完成的项目代码,一般都是布在linux服务器下的.因为linux服务器可以说是安全性稳定性都比w ...
最新文章
- Nreal招聘|SLAM、深度学习、服务器开发工程师等岗位(校招/社招)
- Linux命令如何显示光标
- NYOJ 267 郁闷的C小加(二)
- 为进阶Linux大佬打牢地基
- 数据结构与算法之美-哈希算法
- IIS之错误解决之道
- 断点续传的原理剖析与实例讲解
- apollo @value没生效_不问不要紧,一文要人命,绝对的面试加分项配置中心Apollo深度解读...
- java权限管理selor_Java进阶学习第四天——DOM入门
- python实现MD5加密工具
- java web基础视频教程_java web开发入门视频教程
- 【矩阵论笔记】过渡矩阵
- psm倾向得分匹配法举例_【计量地图】倾向得分匹配法(PSM)理论、操作与案例...
- 【4分频电路 -verilog】
- Qt编写安防视频监控系统10-视频轮询
- Unity3D教程:如何利用Shader实现钻石渲染效果
- beeline : Error: Could not open client transport with JDBC 连接失败
- 国产处理器瑞芯微RK3568对比RK3399性能解析-迅为开发板
- 【RSA-Tool 2 by tE】的使用
- CKEditor&ckfindtor
热门文章
- c++读取文件夹中文件
- c++bind函数使用
- Matlab处理气象数据(七)分段趋势线的做法
- 从零开始的人工智能学习(序)
- 【Python】django报错:TypeError: __init__() missing 1 required positional argument: 'on_delete'解决办法
- 直播界的新玩法:你又套路用户!只要钱到位,榜单全干碎
- Python新建三维数组并赋值
- 加密机PKCS#11国际加密标准解读-概念和常用接口函数(1)
- 爬虫学习3---requests库深入学习
- java中编写敏感词过滤程序_Java敏感词过滤