我正在尝试使用Spring的Apache DBCP连接池技术,而我的数据库是MySQL。我的Apache DBCP配置代码是:
@Bean(destroyMethod = "close") // destroyMethod attribute is used to close the bean
public DataSource dataSource() {
BasicDataSource dataSource = new BasicDataSource();
dataSource.setDriverClassName(environment.getRequiredProperty("db.driver"));
dataSource.setUrl(environment.getRequiredProperty("db.url"));
dataSource.setUsername(environment.getRequiredProperty("db.username"));
dataSource.setPassword(environment.getRequiredProperty("db.password"));
dataSource.setInitialSize(5);
dataSource.setMaxTotal(5);
return dataSource;
}
但是当我尝试运行该程序时,它会抛出异常:
java.sql.SQLException: Cannot create PoolableConnectionFactory (Access denied for user 'root '@'localhost' (using password: YES))
对于解决此异常,我已经谷歌了,并找到答案:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'root' WITH GRANT OPTION;
以root用户身份登录。但不幸的是,这不起作用,仍然会发生异常。所以我该怎么做?
我还尝试创建新用户并向新用户授予所有权限,但我仍面临同样的异常。
答案 0 :(得分:2)
您是否注意到错误消息中的额外空格:
Access denied for user 'root '@'localhost'
^^^^
删除空格,它可能会有效。