Database/mysql & mariaDB
MySQL/MariaDB 연결 오류 해결 - Driver org.mariadb.jdbc.Driver claims to not accept jdbcUrl
봉의일상
2025. 2. 16. 00:03
이 오류는 JDBC URL 형식 문제, MariaDB 드라이버 버전 불일치, Gradle 캐시 문제 등으로 인해 발생할 수 있습니다.
🔹 1️⃣ 오류 메시지 예시
java.lang.RuntimeException: Driver org.mariadb.jdbc.Driver claims to not accept jdbcUrl, jdbc:mysql://34.00.00.xxx:3306/myuser?serverTimezone=Asia/Seoul
위와 같은 오류가 발생하면 다음 단계를 확인해보세요.
🔹 2️⃣ JDBC URL을 jdbc:mariadb:// 형식으로 변경
MariaDB를 사용할 때는 jdbc:mysql:// 대신 jdbc:mariadb://을 사용해야 합니다.
✅ 기존 설정
spring.datasource.url=jdbc:mysql://34.00.00.xxx:3306/myuser?serverTimezone=Asia/Seoul
⬇ 변경 후
spring.datasource.url=jdbc:mariadb://34.00.00.xxx:3306/myuser?serverTimezone=Asia/Seoul
🔹 3️⃣ MariaDB JDBC 드라이버 최신 버전 적용
Gradle에서 MariaDB JDBC 드라이버를 최신 버전으로 업데이트해야 합니다.
✅ build.gradle 수정
dependencies {
runtimeOnly 'org.mariadb.jdbc:mariadb-java-client:3.1.4' // 최신 버전 사용
}
최신 버전 확인: Maven Repository - MariaDB
🔹 4️⃣ Gradle 캐시 삭제 후 클린 빌드
Gradle의 캐시 문제로 인해 이전 버전의 드라이버가 계속 참조될 수도 있습니다.
./gradlew --stop
./gradlew clean
rm -rf ~/.gradle/caches
./gradlew build --warning-mode all
✅ 클린 빌드 후 재실행!
🔹 5️⃣ spring.datasource.driver-class-name 명시적으로 지정
Spring Boot가 올바른 JDBC 드라이버를 감지하지 못하는 경우 직접 지정해줘야 합니다.
✅ application.properties에 추가
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver