前言
1、阿里默认只对用户密码解密
2、druid 1.0.16版本及以上的解密时需要同时配置publicKey
用户密码加密
CMD运行命令
java -cp druid-1.0.9.jar com.alibaba.druid.filter.config.ConfigTools you_password
druid 1.0.16之前
druid 1.0.16及以后
DataSource配置
druid 1.0.16之前
spring:
datasource:
user:
#DB mysql configuration:
driverClassName: com.mysql.jdbc.Driver
type: com.alibaba.druid.pool.DruidDataSource
url: jdbc:mysql://192.168.1.115:3306/bj_dsm?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowMultiQueries=true&serverTimezone=Asia/Shanghai&autoReconnect=true
username: root
password: bNVOqb7WKLX5Bjnw+LMv92taj25KOxDimXxILPQjw42wgv+1lHzOH8kr97xDwWdhpY67QuYCS7sWN4W46YbkFA==
# 下面为连接池的补充设置,应用到上面所有数据源中
initialSize: 5
minIdle: 5
maxActive: 5
# 配置获取连接等待超时的时间
maxWait: 60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
timeBetweenEvictionRunsMillis: 60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
minEvictableIdleTimeMillis: 300000
validationQuery: SELECT 1 FROM DUAL
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
# druid数据源监控web
filters: config,wall,log4j,stat
maxPoolPreparedStatementPerConnectionSize: 20
useGlobalDataSourceStat: true
connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500;config.decrypt=true
druid 1.0.16及以后
多配置了publickey的值,并在【connectionProperties】属性里指定了publickey。
spring:
datasource:
user:
#DB mysql configuration:
driverClassName: com.mysql.jdbc.Driver
type: com.alibaba.druid.pool.DruidDataSource
url: jdbc:mysql://192.168.1.115:3306/bj_dsm?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowMultiQueries=true&serverTimezone=Asia/Shanghai&autoReconnect=true
username: root
password: m7lcBNYdeUoO53a0KeZc+rVCCp70aq8PE6cA99RrdfiNyHkBBCJftUCy9ee8upX4+K8DVPG9vTwSSPieTiPCag==
publickey: MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAMLqEuXKxdvT/d9AvRFzMxX5H2XAi+JwSQvyOf29+hTSjLAlojEdGMYAFBKkQx4vvhhYJDLF7blCga+TZq/5CvUCAwEAAQ==
# 下面为连接池的补充设置,应用到上面所有数据源中
initialSize: 5
minIdle: 5
maxActive: 5
# 配置获取连接等待超时的时间
maxWait: 60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
timeBetweenEvictionRunsMillis: 60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
minEvictableIdleTimeMillis: 300000
validationQuery: SELECT 1 FROM DUAL
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
# druid数据源监控web
filters: config,wall,log4j,stat
maxPoolPreparedStatementPerConnectionSize: 20
useGlobalDataSourceStat: true
connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500;config.decrypt=true;config.decrypt.key=${spring.datasource.user.publickey}