先在项目里找到相应的Druid连接池的jar包
在这里插入图片描述
然后用命令生成密码:

java -cp druid-1.1.20.jar com.alibaba.druid.filter.config.ConfigTools yourPassword

其中druid-1.1.20.jar换成正在使用对应的版本,yourPassword改成数据库连接的密码。
在这里插入图片描述

在yml配置文件中,将连接mysql的password后面的密码换成生成的password
在这里插入图片描述

然后配置解密公钥publickey
在这里插入图片描述

开启解密:
在这里插入图片描述
filters设为config
在这里插入图片描述
配完后就可以了

最后附上yml文件内容:

# Druid连接池加密公钥
publicKey: MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAMuWp+8OCG+P0Yjg+A8DQWQLKiF5tqGIczDOtRYexXmOYp3F0NeBnmHsjeWTa1rSmQQM2+gK2xM2t6D68oVsb9kCAwEAAQ==

# 数据源配置
spring:
    datasource:
        type: com.alibaba.druid.pool.DruidDataSource
        driverClassName: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true
        username: root
        # 1.配置生成的password
        password: TdNO+4Aa1eGBb6I/hxR8d+yS6ZDlbPEbE9um4cTZUi/e6RvyNLzA5MSweE6tndSuZgSrLXJ22GqbPODp4b1qHw==
        #   Druid数据源配置
        # 初始连接数
        initialSize: 5
        # 最小连接池数量
        minIdle: 10
        # 最大连接池数量
        maxActive: 20
        # 配置获取连接等待超时的时间
        maxWait: 60000
        # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
        timeBetweenEvictionRunsMillis: 60000
        # 配置一个连接在池中最小生存的时间,单位是毫秒
        minEvictableIdleTimeMillis: 300000
        # 配置一个连接在池中最大生存的时间,单位是毫秒
        maxEvictableIdleTimeMillis: 900000
        # 配置检测连接是否有效
        validationQuery: SELECT 1 FROM DUAL
        #申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。
        testWhileIdle: true
        #配置从连接池获取连接时,是否检查连接有效性,true每次都检查;false不检查。做了这个配置会降低性能。
        testOnBorrow: false
        #配置向连接池归还连接时,是否检查连接有效性,true每次都检查;false不检查。做了这个配置会降低性能。
        testOnReturn: false
        #打开PsCache,并且指定每个连接上PSCache的大小
        poolPreparedStatements: true
        maxPoolPreparedStatementPerConnectionSize: 20
        #   配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
        filters: stat,wall,log4j,config
        #合并多个DruidDatasource的监控数据
        useGlobalDataSourceStat: true
        #通过connectProperties属性来打开mergesql功能罗慢sQL记录
        # 2.开启加密,配置公钥
        connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500;config.decrypt=true;config.decrypt.key=${publickey};
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐