springboot整合mybatis-plus多数据源时报错:Access denied for user root @ localhost (using password: NO)
时间: 2023-12-06 20:38:39 浏览: 138
springboot整合mybatis多数据源
在Spring Boot整合Mybatis-Plus多数据源时,出现“Access denied for user 'root'@'localhost' (using password: NO)”错误,可能是因为配置文件中的密码没有正确识别。可以尝试以下解决方法:
1.检查配置文件中的密码是否正确,特别是在使用yml文件时,需要注意缩进和格式是否正确。
2.在配置文件中明确指定使用的数据源,例如:
```java
@Configuration
@MapperScan(basePackages = "com.example.demo.mapper")
public class DataSourceConfig {
@Bean(name = "dataSource1")
@ConfigurationProperties(prefix = "spring.datasource.ds1")
public DataSource dataSource1() {
return DataSourceBuilder.create().build();
}
@Bean(name = "dataSource2")
@ConfigurationProperties(prefix = "spring.datasource.ds2")
public DataSource dataSource2() {
return DataSourceBuilder.create().build();
}
@Bean(name = "dynamicDataSource")
public DynamicDataSource dynamicDataSource(@Qualifier("dataSource1") DataSource dataSource1,
@Qualifier("dataSource2") DataSource dataSource2) {
Map<Object, Object> targetDataSources = new HashMap<>();
targetDataSources.put(DataSourceEnum.DATA_SOURCE1.getValue(), dataSource1);
targetDataSources.put(DataSourceEnum.DATA_SOURCE2.getValue(), dataSource2);
return new DynamicDataSource(dataSource1, targetDataSources);
}
}
```
3.检查数据库用户的权限是否正确,可以使用以下命令修改密码:
```sql
USE mysql;#mysql配置库
ALTER USER root@localhost IDENTIFIED BY 'newpasswd3'; # 修改密码
```
阅读全文