由于安全需要,数据库需要定时更新密码,快速更新服务连接数据库密码,现在提供参考方案如下
集中nacos配置,将密码集中收集到一个配置文件里
spring:datasource:password: 123456
在项目中使用nacos的配置中心,同时设置多个配置,包含数据库密码配置
cloud:nacos:config:server-addr: 192.168.10.1:8848namespace: aaagroup: aaafile-extension: ymlextension-configs[0]:data-id: datasource.ymlrefresh: true
最后调整数据库连接配置
@Configuration
@RefreshScope
public class DataSourceConfig {@Bean@RefreshScopepublic DataSource dataSource(Environment env) {DruidDataSource druidDataSource = new DruidDataSource();druidDataSource.setDriverClassName(env.getProperty("spring.datasource.driver-class-name"));druidDataSource.setUrl(env.getProperty("spring.datasource.url"));druidDataSource.setUsername(env.getProperty("spring.datasource.username"));druidDataSource.setPassword(env.getProperty("spring.datasource.password"));druidDataSource.setInitialSize(2);druidDataSource.setMaxActive(160);druidDataSource.setMinIdle(0);druidDataSource.setMaxWait(60000);return druidDataSource;}
}
修改数据库密码后更新nacos配置文件,不需要再重启服务,服务就可以自动更新密码
如果有更好的方案可以给留言