prosource

HikariCP는 항상 mysql root을 사용합니까?

probook 2023. 10. 10. 20:38
반응형

HikariCP는 항상 mysql root을 사용합니까?

mariadb가 일반 mysql을 대체한 이후로 자바 프로젝트를 실행하는 데 몇 가지 문제가 발생했습니다.50-server.cnf인 새로운 .cnf를 찾아 bind-address를 0.0.0으로 변경하고 mysql과 mariadb를 다시 로드했으며 일반적인 mysql 명령을 실행하여 내가 사용하는 mysql 사용자에게 모든 권한을 부여했습니다(권한 플러시하는 것도 잊지 않았습니다).저도 iptables로 포트 3306을 열려고 했는데, 모두 현지 작업입니다.

자바 오류가 루트에 연결하는 데 문제가 있음을 나타냄

com.zaxxer.hikari.pool.HikariPool$PoolInitializationException: Failed to initialize pool: Could not connect to address=(host=localhost)(port=3306)(type=master) : (conn=37) Access denied for user 'root'@'localhost'
    at com.zaxxer.hikari.pool.HikariPool.throwPoolInitializationException(HikariPool.java:595)
    at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:581)
    at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:115)
    at com.zaxxer.hikari.HikariDataSource.<init>(HikariDataSource.java:81)
    at fr.mathwellan.dispenser.utils.HikariSQL.<init>(HikariSQL.java:37)

비록 내가 뿌리와 연결하려고 하지는 않지만,

HikariConfig hikariConfig = new HikariConfig();
hikariConfig.setMaximumPoolSize(10);
hikariConfig.setDriverClassName("org.mariadb.jdbc.Driver");
hikariConfig.setJdbcUrl("jdbc:mariadb://localhost:3306/database");
hikariConfig.setUsername("notroot"); // here, it's a custom user
hikariConfig.setPassword("psswd");

hikariConfig.setConnectionTimeout(1000L);
hikariConfig.addDataSourceProperty("autoReconnect", true);
hikariConfig.addDataSourceProperty("cachePrepStmts", true);
hikariConfig.addDataSourceProperty("prepStmtCacheSize", 250);
hikariConfig.addDataSourceProperty("prepStmtCacheSqlLimit", 2048);
hikariConfig.addDataSourceProperty("useServerPrepStmts", true);
hikariConfig.addDataSourceProperty("cacheResultSetMetadata", true);

new HikariDataSource(hikariConfig); // line 37

다른 버전의 HikariCP를 사용해 보았지만, 아무것도 바뀌지 않습니다.

나는 누군가가 나보다 더 잘 알고 있기를 바랍니다. 나는 구글 검색을 좀 했지만 이 오류가 있는 모든 사람들이 그들의 코드에 루트를 사용하고 있는 것 같습니다.

언급URL : https://stackoverflow.com/questions/67672292/hikaricp-always-using-mysql-root

반응형