본문 바로가기
개발/ERROR 모음

springboot mariadb database 연결 실패 name username 차이

by chansungs 2023. 10. 23.
728x90
반응형

안녕하세요~ 

오늘은 Spring Boot와 MariaDB 데이터베이스 연결 실패와 이름과 사용자 이름 차이에 대해 이야기해보려고 합니다. 

Spring Boot는 개발자들 사이에서 매우 인기 있는 Java 웹 프레임워크 중 하나입니다. 그러나 때로는 MariaDB 데이터베이스와 연결하는 과정에서 문제가 발생할 수 있습니다. 또한 이름과 사용자 이름이 서로 다른 경우에도 문제가 발생할 수 있습니다. 이러한 문제를 해결하기 위해 이번 포스트에서는 Spring Boot와 MariaDB 데이터베이스 연결 실패 및 이름과 사용자 이름 차이에 대해 자세히 알아보겠습니다. 함께 시작해봅시다!

 

application.properties

spring.datasource.driverClassName=net.sf.log4jdbc.sql.jdbcapi.DriverSpy
spring.datasource.url='개인주소를 적어줍니다.'
spring.datasource.name=root
spring.datasource.password=root

저는 개인적으로 나스서버를 이용했기에 url은 생략하겠습니다.

 

아래의 사진처럼 error가 발생했습니다.

 

에러 메세지

2023-10-23 15:36:46.806  INFO 17097 --- [nio-9090-exec-7] com.zaxxer.hikari.HikariDataSource       : root - Starting...
2023-10-23 15:36:47.037  WARN 17097 --- [nio-9090-exec-7] o.m.jdbc.message.server.ErrorPacket      : Error: 1045-28000: Access denied for user 'chansung'@'172.26.0.1' (using password: YES)
2023-10-23 15:36:48.055 ERROR 17097 --- [nio-9090-exec-7] com.zaxxer.hikari.pool.HikariPool        : root - Exception during pool initialization.

java.sql.SQLInvalidAuthorizationSpecException: (conn=121) Access denied for user 'chansung'@'172.26.0.1' (using password: YES)
	at org.mariadb.jdbc.export.ExceptionFactory.createException(ExceptionFactory.java:286) ~[mariadb-java-client-3.0.10.jar:na]
	at org.mariadb.jdbc.export.ExceptionFactory.create(ExceptionFactory.java:370) ~[mariadb-java-client-3.0.10.jar:na]
	at org.mariadb.jdbc.client.impl.ConnectionHelper.authenticationHandler(ConnectionHelper.java:312) ~[mariadb-java-client-3.0.10.jar:na]
	at org.mariadb.jdbc.client.impl.StandardClient.<init>(StandardClient.java:189) ~[mariadb-java-client-3.0.10.jar:na]
	at org.mariadb.jdbc.Driver.connect(Driver.java:70) ~[mariadb-java-client-3.0.10.jar:na]
	at org.mariadb.jdbc.Driver.connect(Driver.java:101) ~[mariadb-java-client-3.0.10.jar:na]
	at org.mariadb.jdbc.Driver.connect(Driver.java:27) ~[mariadb-java-client-3.0.10.jar:na]
	at net.sf.log4jdbc.sql.jdbcapi.DriverSpy.connect(DriverSpy.java:401) ~[log4jdbc-log4j2-jdbc4.1-1.16.jar:na]
	at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:121) ~[HikariCP-4.0.3.jar:na]
	at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:364) ~[HikariCP-4.0.3.jar:na]
	at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:206) ~[HikariCP-4.0.3.jar:na]
	at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:476) ~[HikariCP-4.0.3.jar:na]
	at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) ~[HikariCP-4.0.3.jar:na]

 

저와같은 에러가 발생하신분이 계신다면 아래와 같이 수정해보시기 바랍니다.

 

spring.datasource.driverClassName=net.sf.log4jdbc.sql.jdbcapi.DriverSpy
spring.datasource.url='개인주소를 적어줍니다.'
spring.datasource.username=root   <-- 이부분 name 에서 username 수정
spring.datasource.password=root

 

이렇게 수정했더니 접속이 잘 되더군요.

여기저기 검색을 해서 한번 정리를 해봤습니다.

 

에러설명

spring.datasource.username spring.datasource.name Spring Boot 데이터베이스 연결 설정에서 사용되는 속성들입니다.

 

- spring.datasource.username: 이 속성은 데이터베이스에 연결할 때 사용하는 사용자 이름을 지정합니다. 예를 들어, MySQL 또는 MariaDB에서 root나 다른 사용자 이름을 이 속성에 지정할 수 있습니다.

- spring.datasource.name: 속성은 Spring Boot 애플리케이션에서 생성되는 DataSource bean 이름을 설정합니다. 기본적으로, 이름은 'dataSource'입니다. 속성은 보통 데이터베이스 연결 정보를 제공하는 것이 아니라 Spring 내부에서 DataSource bean 참조하는 사용됩니다.

 

따라서, 일반적인 상황에서 데이터베이스 접속 정보를 설정하려면 spring.datasource.username, spring.datasource.password, spring.datasource.url, 그리고 필요한 경우 spring.datasource.driverClassName 등의 속성들을 설정해야 합니다.

 

감사합니다.

 

 

 

728x90
반응형