由于安全需要,数据库需要定时更新密码,快速更新服务连接数据库密码,现在提供参考方案如下
集中nacos配置,将密码集中收集到一个配置文件里
spring:
datasource:
password: 123456
在项目中使用nacos的配置中心,同时设置多个配置,包含数据库密码配置
cloud:
nacos:
config:
server-addr: 192.168.10.1:8848
namespace: aaa
group: aaa
file-extension: yml
extension-configs[0]:
data-id: datasource.yml
refresh: true
最后调整数据库连接配置
@Configuration
@RefreshScope
public class DataSourceConfig {
@Bean
@RefreshScope
public 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配置文件,不需要再重启服务,服务就可以自动更新密码
如果有更好的方案可以给留言