文档章节

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

LevelCoder
 LevelCoder
发布于 2017/07/20 23:06
字数 777
阅读 4
收藏 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
粉丝 8
博文 93
码字总数 36817
作品 0
房山
高级程序员
私信 提问
多数据源切换问题和数据库密码加密的问题

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

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

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

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

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

binggetong
2017/12/19
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
认识黑客常用的入侵方法

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

linuxprobe
2016/06/18
76
0

没有更多内容

加载失败,请刷新页面

加载更多

Linux Wireshark普通用户启动使用方案

当系统安装好Wireshark后请正常启动是否可以进行正常使用,如果不行请参考下列指导 向系统添加一个用户组 sudo groupadd wireshark //如提示此组存在可跳过 将指定用户添加到这个组中 sudo...

CHONGCHEN
今天
2
0
CSS 选择器参考手册

CSS 选择器参考手册 选择器 描述 [attribute] 用于选取带有指定属性的元素。 [attribute=value] 用于选取带有指定属性和值的元素。 [attribute~=value] 用于选取属性值中包含指定词汇的元素。...

Jack088
今天
2
0
数据库篇一

数据库篇 第1章 数据库介绍 1.1 数据库概述  什么是数据库(DB:DataBase) 数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据...

stars永恒
今天
4
0
Intellij IDEA中设置了jsp页面,但是在访问页面时却提示404

在Intellij IDEA中设置了spring boot的jsp页面,但是在访问时,却出现404,Not Found,经过查找资料后解决,步骤如下: 在Run/Debug Configurations面板中设置该程序的Working Directory选项...

uknow8692
昨天
4
0
day24:文档第五行增内容|每月1号压缩/etc/目录|过滤文本重复次数多的10个单词|人员分组|

1、在文本文档1.txt里第五行下面增加如下内容;两个方法; # This is a test file.# Test insert line into this file. 分析:给文档后增加内容,可以用sed 来搞定;也可以用while do done...

芬野de博客
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部