mariadb 가 h2-console에서 연결이 안됩니다..
1104
작성한 질문수 26
현재 저는 Order Microservice에서 mariaDB 연동 강의를 듣고있습니다.
제가 mysql이 3306 포트를 사용중이라
mariadb port를 3307로 설정했으며 db이름은 mydb로 생성했습니다.

그리고 비밀번호도 제대로 입력한거 맞습니다.
그런데 order-service에서 h2-console에서 비밀번호까지 입력하고 Test Connection하면 연결이 안됩니다.
저는 분명히 pom.xml에서 다음과같이 mariadb 디펜던시를 추가하고
(혹시몰라서 mavenrepository 사이트에있는거 복사했습니다.) 메이븐 새로고침까지 누르고
order-service를 실행했습니다.
<dependency>
<groupId>org.mariadb.jdbc</groupId>
<artifactId>mariadb-java-client</artifactId>
<version>2.7.2</version>
</dependency>그리고 Maven 확인해도 mariadb 디펜던시는 추가돼있습니다...

현재 order-service의 application.yml은 다음곽 같습니다.. 설정정보가 대체 뭐가 문제일까요??
server:
port: 0 # 0번 포트는 랜덤포트
spring:
application:
name: order-service
h2:
console:
enabled: true
settings:
web-allow-others: true
path: /h2-console
jpa:
hibernate:
ddl-auto: update
show-sql: true
generate-ddl: true
datasource:
driver-class-name: org.h2.Driver
url: jdbc:h2:mem:testMsaDb # jdbc url
eureka:
instance:
instance-id: ${spring.application.name}:${spring.application.instance_id:${random.value}}
client:
register-with-eureka: true
fetch-registry: true
service-url:
defaultZone: http://127.0.0.1:8761/eureka #(127.0.0.1 = localhost)
logging:
level:
com.example.orderservice: debug에러에는 계속
Class "com.mariadb.jdbc.Driver" not found [90086-176]
org.h2.message.DbException: Class "com.mariadb.jdbc.Driver" not found [90086-176]
at org.h2.message.DbException.get(DbException.java:167)
at org.h2.util.Utils.loadUserClass(Utils.java:672)
at org.h2.util.JdbcUtils.getConnection(JdbcUtils.java:135)
at org.h2.server.web.WebServer.getConnection(WebServer.java:693)
at org.h2.server.web.WebApp.test(WebApp.java:896)
at org.h2.server.web.WebApp.process(WebApp.java:222)
at org.h2.server.web.WebApp.processRequest(WebApp.java:171)
at org.h2.server.web.WebServlet.doGet(WebServlet.java:126)
at org.h2.server.web.WebServlet.doPost(WebServlet.java:163)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:681)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:890)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:750)
Caused by: org.h2.jdbc.JdbcSQLException: Class "com.mariadb.jdbc.Driver" not found [90086-176]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:344)
... 44 more
Caused by: java.lang.ClassNotFoundException: com.mariadb.jdbc.Driver
at java.net.URLClassLoader.findClass(URLClassLoader.java:387)
at java.lang.ClassLoader.loadClass(ClassLoader.java:419)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
at java.lang.ClassLoader.loadClass(ClassLoader.java:352)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at org.h2.util.Utils.loadUserClass(Utils.java:665)
... 42 more이라고 해서 검색해보면 해결책은 디펜던시 추가하는거 밖에 없습니다...
뭐가 틀렸는지 잘 모르겠어서 질문남깁니다. 감사합니다..
답변 1
1
안녕하세요, 이도원입니다.
작업하신 내용에 문제는 없어 보입니다. 다만, Mariadb에 대한 Driver 설정을 com.mariadb.jdbc.Driver 가 아니라, org.mariadb.jdbc.Driver 로 변경해서 작업해 보시기 바랍니다.
추가로, Mariadb 서버에 접속이 지속적으로 안된다면, localhost 대신 사용하는 IP를 직접 입력하시거나, Maven의 Dependency의 문제일 경우에는, 사용하는 PC의 Maven repostiroy에서 Mariadb 관련 디렉토리를 삭제하신 다음에 다시 빌드해 보시기 바랍니다.
감사합니다.
0
답변 정말 감사합니다..
아무리 봐도 똑같아 보였는데 왜 그게 안보였던건지..
com.mariadb.jdbc.Driver를
org.mariadb.jdbc.Driver로 변경하니까 정상 작동합니다...
앞으론 더 신중히 봐야겠네요 감사합니다..
kafka 업데이트 강의 듣고 시포요
0
83
1
강의 교안
0
71
1
마이크로서비스간 통신 시, 인증 처리
0
79
1
api gateway 에서 인증 처리
0
64
1
섹션 19 질문드립니다
0
51
1
강의 자료 업데이트
0
81
1
부하분산 강의 섹션
0
56
1
강의자료는 어디에서?
0
69
1
강의 자료는 어디서 다운 받을 수 있나요?
0
109
1
전체 사용자 조회시 오류
0
57
1
혹시 pk 외 별도의 id 를 부여한 이유가 있을까요 ??
0
108
2
학습 방향
0
94
2
카프카 커넥터 사용 목적 문의
0
85
2
kafka 강의
0
106
2
서비스 디스커버리 종류
0
86
2
강의 자료에 대해서 궁금해요
0
115
2
GlobalFilter, LoggingFilter가 동작하지 않습니다.
0
89
2
Kafka Source Connect 버전 에러
0
83
2
소스커넥터는 사용안한 거 맞죠?
0
81
2
강의자료 업데이트 문의
0
94
2
강의에서 BCryptPasswordEncoder 에 역할(5-2)
0
56
1
강의 업데이트 계획이 궁금합니다.
0
111
2
MSA 애플리케이션에 Spring Web과 Spring Data JPA를 사용하는 것이 바람직한지 궁금합니다. (MSA 설계와 관련된 질문입니다)
0
160
2
어떤 것이 업데이트 된 건가요?
0
162
2





