文档章节

阿里数据源配置 针对数据源进行密码加密

LevelCoder
 LevelCoder
发布于 2017/07/20 23:06
字数 777
阅读 3
收藏 0
点赞 0
评论 0

druid版本 : 1.0.27

mysql版本:5.5

java -cp D:/druid-1.0.27.jar com.alibaba.druid.filter.config.ConfigTools password

db.prop文件配置

#数据库驱动
connection.driverClass=com.mysql.jdbc.Driver
#数据库连接url
connection.url=jdbc\:mysql\://localhost\:3306/druid?useUnicode\=true&characterEncoding\=UTF-8
#数据库连接用户名
connection.username=root
#数据库连接密码 
connection.password=QglxhqQ1mRyCUKkTrCO9Q84OGiweSCf0le4cyYKJeRLU2PkqXmBDlbso0qmamnvMot2lv4+rbFA2UUN1oxj8yw==
#druid配置
#配置数据库密码是否需要解密,这里需要注意druid 1.0.16版本及以上的解密时需要同时配置publicKey,配置方式如下
druid.connectionProperties=config.decrypt=true;config.decrypt.key=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAM7bpmH+CloJivYJ2UsIM5+vsPXJnIHj3vouNIWBJD6kLVFJ4FakytivHXRtTF8NNGZ0kUcM7VypydZnlr8niXUCAwEAAQ==

#配置初始化大小、最小、最大
druid.initialSize=10
#最小连接池数量
druid.minIdle=10
#最大连接池数量
druid.maxActive=50
#获取连接时最大等待时间,单位毫秒
druid.maxWait=5000
#配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒,有两个含义:1) Destroy线程会检测连接的间隔时间,如果连接空闲时间大于等于minEvictableIdleTimeMillis则关闭物理连接;2) testWhileIdle的判断依据
druid.timeBetweenEvictionRunsMillis=60000
#配置一个连接在池中最小生存的时间,单位是毫秒
druid.minEvictableIdleTimeMillis=300000
#验证语句
druid.validationQuery=SELECT 'x'
#检测连接是否有效的超时时间,单位:秒。底层调用jdbc Statement对象的void setQueryTimeout(int seconds)方法
druid.validationQueryTimeout=5
#申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能
druid.testOnBorrow=false
#归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能
druid.testOnReturn=false
#建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效
druid.testWhileIdle=true
#打开PSCache,并且指定每个连接上PSCache的大小,如果用Oracle,则把poolPreparedStatements配置为true,mysql可以配置为false。分库分表较多的数据库,建议配置为false
druid.poolPreparedStatements=false
druid.maxPoolPreparedStatementPerConnectionSize=100
#定期把监控数据输出到日志中
druid.timeBetweenLogStatsMillis=300000
#配置监控统计拦截的filters
druid.filters=config,stat,slf4j
#使用全局监控
druid.useGlobalDataSourceStat=true
#对于长时间不使用的连接强制关闭,禁用此配置,设置为false
druid.removeAbandoned=false
#超过30分钟开始关闭空闲连接
druid.removeAbandonedTimeout=1800
#将当前关闭动作记录到日志
druid.logAbandoned=true

 

database.xml配置

<bean id="wall-filter" class="com.alibaba.druid.wall.WallFilter">
      <property name="dbType" value="mysql" />
</bean>

<!-- 配置阿里连接池 -->
<bean id="dataSource"  name="dataSource"  class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
		<property name="driverClassName" value="${connection.driverClass}"/>
		<property name="url" value="${connection.url}" />
		<property name="username" value="${connection.username}" />
		<property name="password" value="${connection.password}" />
		<property name="initialSize" value="${druid.initialSize}" />
		<property name="minIdle" value="${druid.minIdle}" />
		<property name="maxActive" value="${druid.maxActive}" />
		<property name="maxWait" value="${druid.maxWait}" />
		<property name="timeBetweenEvictionRunsMillis" value="${druid.timeBetweenEvictionRunsMillis}" />
		<property name="minEvictableIdleTimeMillis" value="${druid.minEvictableIdleTimeMillis}" />
		<property name="validationQuery" value="${druid.validationQuery}" />
		<property name="testWhileIdle" value="${druid.testWhileIdle}" />
		<property name="testOnBorrow" value="${druid.testOnBorrow}" />
		<property name="testOnReturn" value="${druid.testOnReturn}" />
		<property name="poolPreparedStatements" value="${druid.poolPreparedStatements}" />
		<property name="maxPoolPreparedStatementPerConnectionSize" value="${druid.maxPoolPreparedStatementPerConnectionSize}" />
		<property name="removeAbandoned" value="${druid.removeAbandoned}" />
		<property name="removeAbandonedTimeout" value="${druid.removeAbandonedTimeout}" />
		<property name="logAbandoned" value="${druid.logAbandoned}" />
		<property name="connectionProperties" value="${druid.connectionProperties}" />
		<property name="useGlobalDataSourceStat" value="${druid.useGlobalDataSourceStat}" />
		<!-- 配置监控统计拦截的filters,去掉后监控界面sql无法统计 -->
		<!-- 配置监控统计拦截的filters -->
		<property name="filters" value="${druid.filters}" />
		<property name="proxyFilters">
			<list>
				<ref bean="wall-filter"/>
			</list>
		</property>
		
		<!--<property name="filters" value="stat" /> -->
	</bean>

 

以上主要的是druid.connectionProperties的配置

 

© 著作权归作者所有

共有 人打赏支持
LevelCoder
粉丝 7
博文 89
码字总数 34077
作品 0
房山
高级程序员
多数据源切换问题和数据库密码加密的问题

1.问题所在 很多的时候,我们会对数据库的密码进行加密,因为为了安全性。如果使用阿里巴巴的Druid的数据源,可以使用阿里巴巴的加密技术,同时每次生成的private和public钥,是不相同的,所...

小车车
2016/07/30
43
0
上云迁移-海量数据迁移解决方案

摘要:传统数据存储在线下数据中心,存在成本高、运维难、性能难保障等等多方面的问题。阿里云提供闪电立方、OSS/NASImport、混合云存储阵列、镜像回源、302跳转、伪源站等六大解决方案为企业...

黄小凡
05/08
0
0
【shiro】入门程序

Apache Shiro是一个强大的且易用的java安全框架,执行身份验证、授权、密码学和会话管理。使用Shiro的易于理解的API,可以快速,轻松的获得任何应用程序,从最小的移动应用程序到最大的网络和...

binggetong
2017/12/19
0
0
【云计算的1024种玩法】配置 Web应用防火墙 防患攻击与未然

前言 随着互联网的不断发展,互联网上的攻击威胁也越来越多,例如电商行业的交易数据被篡改,网站被篡改发表跑路内容导致信任危机,数据库被攻击导致客户信息泄露,相关客户福利措施被薅羊毛...

妙正灰
04/19
0
0
认识黑客常用的入侵方法

数据驱动攻击 数据驱动攻击是指黑客向目标计算机发送或复制的表面上看来无害的特殊程序被执行时所发起的攻击。该攻击可以让黑客在目标计算机上修改与网络安全有关的文件,从而使黑客在下一次...

linuxprobe
2016/06/18
76
0
【转载】阿里云MVP Meetup 《云数据·大计算:海量日志数据分析与应用》之《数据采集:日志数据上传》篇

实验涉及大数据产品 大数据计算服务 MaxCompute 大数据开发套件 DataWorks 实验环境准备 必备条件:首先需要确保自己有阿里云云账号并已实名认证。详细点击: 注册阿里云账号 企业实名认证 ...

frenchfry516
2017/11/23
0
0
Druid使用ConfigFilter

1 配置ConfigFilter 1.1 配置文件从本地文件系统中读取 <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" </bean> 1.2 配置文件从远程http服务器中读取 <bean id="da......

Orehs
2014/08/08
0
1
Kerbores/NUTZ-ONEKEY

NUTZ-ONEKEY NUTZ一键脚手架 概述 github地址 https://github.com/Kerbores/NUTZ-ONEKEY git@osc地址 http://git.oschina.net/ixion/NUTZ-ONEKEY 演示地址 https://thunder.kerbores.com 仓库......

Kerbores
2016/08/08
0
0
阿里巴巴Druid数据源的配置与使用

Druid是阿里巴巴开源平台上的一个项目,整个项目由数据库连接池、插件框架和SQL解析器组成。该项目主要是为了扩展JDBC的一些限制,可以让程序员实现一些特殊的需求,比如向密钥服务请求凭证、...

wangjianme
2016/05/21
659
1
在WebLogic新建针对Oracle数据库的JNDI数据源

一、在WebLogic新建针对Oracle数据库的JNDI数据源   进入weblogic管理控制台,此处是远程访问:http://192.168.1.144:7001/console   点击左侧【 域结构】→【base domain】→【服务】→...

中小宇
2016/11/18
30
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

回想过往,分析当下,着眼未来

好久没有真正的在纸质笔记本上写过东西了,感觉都快不会写字了,笔画都不知道怎么写了。接下来就说说咱们的正事。 2018年7月22日,我做了一个决定,那就是去参加安全培训(可能是我职业生涯中...

yeahlife
40分钟前
1
0
关于工作中的人际交往

关于工作中的人际交往 Intro 写了篇发泄情绪的博客,但不会发布出来。 大概就是,要么忍,要么滚。 以及一些不那么符合社会主义核心价值观,不满于大资本家与小资本家剥削的废话。

uniqptr
45分钟前
0
0
springMVC的流程

1.用户发送请求至前端控制器DispatcherServlet 2.DispatcherServlet收到请求调用HandlerMapping处理器映射器。 3.处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(...

JavaSon712
今天
0
0
大数据教程(3.2):Linux系统软件安装之自动化脚本

博主前面文章有介绍过软件的安装,可以帮助IT人员顺利的完成功能软件安装;但是,对于我们运维人员或者需要管理软件安装的项目经理来说,有些应用一次行需要搭建很多台相同的软件环境(如tom...

em_aaron
今天
0
1
Spring Boot 2.0.3 JDBC整合Oracle 12

整合步骤 1. Oracle驱动引入 Oracle驱动一般不能通过maven仓库直接下载得到,需自行下载并导入到项目的lib目录下,建议通过如下pom依赖引入下载的Oracle驱动 <!-- Oracle 驱动 -->...

OSC_fly
今天
0
0
java 8 并行流 - 1

下面创建一个并行流,与顺序流 //顺序流Stream.iterate(0L, i -> i + 1) .limit(Integer.MAX_VALUE) .reduce(0L, Long::sum);//并行流Stream.iterate(0L, i -> i......

Canaan_
今天
0
0
数据结构与算法5

二分法采用向下取整的方法 使用有序数组的好处是查找的速度比无序数组快的多,不好的方面是因为要将所有靠后的数据移开,所以速度较慢,有序数组和无序数组的删除操作都很慢。 有序数组在查找...

沉迷于编程的小菜菜
昨天
1
1
SpringBoot | 第十一章:Redis的集成和简单使用

前言 上几节讲了利用Mybatis-Plus这个第三方的ORM框架进行数据库访问,在实际工作中,在存储一些非结构化或者缓存一些临时数据及热点数据时,一般上都会用上mongodb和redis进行这方面的需求。...

oKong
昨天
5
0
对基于深度神经网络的Auto Encoder用于异常检测的一些思考

一、前言 现实中,大部分数据都是无标签的,人和动物多数情况下都是通过无监督学习获取概念,故而无监督学习拥有广阔的业务场景。举几个场景:网络流量是正常流量还是攻击流量、视频中的人的...

冷血狂魔
昨天
0
0
并发设计之A系统调用B系统

A-->B A在发送请求之前,用乐观锁,减少对B的重复调用,这样一定程度上是幂等性。 比如A系统支付功能,要调用B系统进行支付操作,但是前端对"支付"按钮不进行控制,即用户会不断多次点击支付...

汉斯-冯-拉特
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部