阿里druid数据源配置及数据库密码加密
前言
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}