Java: Face не может создать PoolableConnectionFactory (доступ запрещен для пользователя 'root '@'localhost' (используется пароль: YES)) Исключение

Я пытаюсь использовать технику пулов соединений Apache DBCP с Spring, и моя БД - 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. Но, к сожалению, это не будет работать, и исключение все еще происходит. И что же мне делать?

Я также пытался создать нового пользователя и предоставить все привилегии новому пользователю, но все же я столкнулся с тем же исключением.

1 ответ

Решение

Вы заметили лишние пробелы в сообщении об ошибке:

Access denied for user 'root    '@'localhost'
                            ^^^^

Удалите пробелы, и это, вероятно, будет работать.

Другие вопросы по тегам