springboot配置druid数据库密码加密
⼀、说明
环境:idea 2019.2 + druid-1.1.6
springboot集成Druid 请参考博⽂:
⼆、执⾏命令加密数据库密码
java -cp druid的jar包路径 com.alibaba.fig.ConfigTools you_password
2-1、项⽬中定位到druid的jar包
2-2、右键 -> Open Library Settings -> ctrl +c 复制jar路径
得到druid的jar包路径:
D:\apache-maven-3.3.9\mydata\Repository\com\alibaba\druid\1.1.6\druid-1.1.6.jar
2-3、打开cmd命令⾏窗⼝
假如你的密码是 1234
winds键 + r -> 输⼊cmd -> 按回车键
命令⾏执⾏(注意每次执⾏结果不⼀样,执⾏完请将结果复制保存下)
java -cp D:\apache-maven-3.3.9\mydata\Repository\com\alibaba\druid\1.1.6\druid-1.1.6.jar com.alibaba.fig.ConfigTools 1234
输出:
privateKey:MIIBVQIBADANBgkqhkiG9w0BAQEFAASCAT8wggE7AgEAAkEA04tkqzedSRvSl4EDTVg183gKxSDlc1imRbLjBvAl+7w58rvmNP9lOT30uSPBVbN 2i7u81PsW44aW/PE19mCU2wIDAQABAkBTvY9ZM8fAhBIGRVzgRjX9LhzdUhtiYMpZNuol+fSfRHfCKUWC3QkcizPP8KwazePslqVvpMJAX/AEg/sCN3Z5AiE A+5hmCo0bsly1Y7gwD45PVEjutoSXRnA9YGbMNfDU5IcCIQDXP36lE2TCfH8/alrXjE2KDjMvhN/urI6H0tJSlV+2DQIgD5/pRmJ5A9yqDyVTJsQpvQxCdudJFc
DGrwPzTq5EKmUCIQC2YnPCFiO7c9gyeMDOgXC2OQAAFLvWNdpzlhxmo3E9BQIhAKu5ooDRq2b64sIc9UfS1h0rm4qfsGDBNjKOosM6Y7pc publicKey:MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBANOLZKs3nUkb0peBA01YNfN4CsUg5XNYpkWy4wbwJfu8OfK75jT/ZTk99LkjwVWzdou7vNT7FuO GlvzxNfZglNsCAwEAAQ==
password:tkn8Joi6uWC1ZRX/l3HQGUwfIN0RbNPOZNDaeaHLNrzxRDaBASxZ63CNSXk/aTRSGLvr0ZbpsVGzxozMFV9Baw==
命令⾏截图:
三、修改配置⽂件application.properties
3-1、password 修改为上⾯命令⾏执⾏得到的password
spring.datasource.password=tkn8Joi6uWC1ZRX/l3HQGUwfIN0RbNPOZNDaeaHLNrzxRDaBASxZ63CNSXk/aTRSGLvr0ZbpsVGzxozMFV9Baw==
druid连接池配置详解3-2、filter属性追加config
spring.datasource.filters=stat,wall,slf4j,config
3-3、connectionProperties属性
connectionProperties属性追加 ;config.decrypt=true;config.decrypt.key=${publickey}
${publickey}为上⾯命令⾏执⾏得到的publicKey
tionProperties=Sql=true;druid.stat.slowSqlMillis=5000;config.decrypt=true;config.decrypt.key=MFwwDQYJKoZIhv cNAQEBBQADSwAwSAJBANOLZKs3nUkb0peBA01YNfN4CsUg5XNYpkWy4wbwJfu8OfK75jT/ZTk99LkjwVWzdou7vNT7FuOGlvzxNfZglNsCAwEAAQ==
3-4、application.properties相关druid完整配置
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=tkn8Joi6uWC1ZRX/l3HQGUwfIN0RbNPOZNDaeaHLNrzxRDaBASxZ63CNSXk/aTRSGLvr0ZbpsVGzxozMFV9Baw== spring.datasource.sql.jdbc.Driver
pe=com.alibaba.druid.pool.DruidDataSource
#连接池的配置信息
## 初始化⼤⼩,最⼩,最⼤
spring.datasource.initialSize=5
spring.datasource.minIdle=5
spring.datasource.maxActive=20
## 配置获取连接等待超时的时间
spring.datasource.maxWait=60000
# 配置间隔多久才进⾏⼀次检测,检测需要关闭的空闲连接,单位是毫秒
spring.datasource.timeBetweenEvictionRunsMillis=60000
# 配置⼀个连接在池中最⼩⽣存的时间,单位是毫秒
spring.datasource.minEvictableIdleTimeMillis=300000
spring.datasource.validationQuery=SELECT 1 FROM DUAL
stWhileIdle=true
stOnBorrow=false
stOnReturn=false
# 打开PSCache,并且指定每个连接上PSCache的⼤⼩(防⽕墙这⼀块⼀定不能开,sqlite不⽀持,会导致奇怪的异常)
spring.datasource.poolPreparedStatements=false
spring.datasource.maxPoolPreparedStatementPerConnectionSize=20
# 配置监控统计拦截的filters,去掉后监控界⾯sql⽆法统计,'wall'⽤于防⽕墙
spring.datasource.filters=stat,wall,slf4j,config
# 通过connectProperties属性来打开mergeSql功能;慢SQL记录
tionProperties=Sql=true;druid.stat.slowSqlMillis=5000;config.decrypt=true;config.decrypt.key=MFwwDQYJKoZIhv cNAQEBBQADSwAwSAJBANOLZKs3nUkb0peBA01YNfN4CsUg5XNYpkWy4wbwJfu8OfK75jT/ZTk99LkjwVWzdou7vNT7FuOGlvzxNfZglNsCAwEAAQ==
# 合并多个DruidDataSource的监控数据
spring.datasource.useGlobalDataSourceStat=true
四、启动springboot项⽬验证
五、官⽹参考
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论