sggnology
하늘속에서IT
sggnology
전체 방문자
오늘
어제
  • 분류 전체보기 (83)
    • Algorithm (31)
      • Programmers (27)
      • Baekjoon (4)
    • WIKI (4)
      • VirtualBox (1)
      • Power Toys (1)
    • NodeJS (4)
      • nvm (1)
      • React (1)
      • Vue (1)
    • Dev Language (3)
      • Java (2)
      • Kotlin (1)
    • Spring Boot (17)
      • Gradle (1)
      • JPA (3)
    • DB (4)
      • MariaDB (3)
      • Redis (0)
    • Android (6)
      • Debug (3)
    • Nginx (3)
      • Debug (1)
    • Intellij (0)
    • Network (1)
    • Git (2)
      • GitHub (2)
    • Chrome Extension (0)
    • ETC (5)
      • Monitoring (2)
    • Linux (1)
      • WSL (1)
    • Visual Studio (1)
    • Side Project (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • kotlin
  • DB
  • java
  • 티스토리챌린지
  • 레벨3
  • 고득점 Kit
  • 프로그래머스
  • 백준
  • 연습문제
  • 알고리즘
  • docker
  • mariadb
  • Android Studio
  • JPA
  • 안드로이드 스튜디오
  • 오블완
  • 고득점KIT
  • nginx
  • spring boot
  • 레벨2

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
sggnology

하늘속에서IT

Spring Boot

[Spring Boot] Access denied for user 'root'@'localhost'(using password: yes)

2024. 4. 24. 23:30
728x90

발단

테스트를 위해 생성한 프로젝트에서 DB 연결이 정상적으로 이루어지지 않았다. Client(HeidSQL, DataGrip)으로는 연결이 되었지만 Spring 에서 연결이 되지 않았기에 

 

환경

  • Spring Boot 3.2.5
  • Mysql 8.0.36

 

설명

다른 블로그를 찾아보니 `Access denied for user ...` 오류에 대한 해결방법은 3가지로 나뉜다. 하지만 본인은 아래 3가지 방법중 어떤 걸로도 해결되지 않았다.

 

1. Bitnami WAMP 로 인해 Listening 중인 서버가 동시에 떠있는 경우가 있는 듯 하다.

   - 보통 강의에서 사용되는 오픈소스 솔루션으로 PHP, Mysql 등의 프로그램을 쉽게 설치하는 방법인듯 하다.

 

2. 비밀번호 오류

   - Mysql 재설치를 통해 root 에 대한 비밀번호를 재설정 및 DDL(Alter)을 통해 비밀번호 수정을 하였으나 해결안됨

 

3. 권한 오류

   - root 권한으로 접근하여 권한이 문제 있을리 없겠지만, 혹시몰라 모든 권한을 주었으나 해결안됨

 

위 3개로 해결되신 분 이라면 아래 해결방법 이런 사람도 있구나 하시면 됩니다..

 


 

문제확인

문득 Mysql 의 문제가 아니라 Spring property 에 문제가 있을 수 있지 않을까 싶었습니다.

 

 

코드(application.yml)

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/{dbname}
    username: root
    password: 0000
    driver-class-name: com.mysql.cj.jdbc.Driver
    
# 만약 위 설정을 읽자마자 문제를 인지하셨다면 당신은 개발 천재?

 

 

해결방법

  • root 계정 비밀번호는 `0000` 으로 숫자로만 이루어져 있습니다.
  • 숫자로만 이루어져 있기에 DB 접근 시도시 정보를 읽어들이는 과정에서 숫자로 인지 하지 않을까 생각했습니다.
  • 아래와 같이 string 으로 인지할 수 있게 single quote 를 붙여 코드를 수정하였고 오류를 해결할 수 있었습니다.
...
password: '0000'
...
728x90

'Spring Boot' 카테고리의 다른 글

[Spring Boot] Spring Security 설정 과정에서 `please use permitAll via HttpSecurity#authorizeHttpRequests instead` 문구 발생(feat. ignoring)  (1) 2024.05.28
[Spring] Custom Enum Value 를 Swagger 문서에 노출시키고 싶으면 어떻게 해야할까?  (0) 2024.05.21
[Spring Boot] @ModelAttribute 로 맵핑하려는 대상의 depth 가 2 이상일 때 요청하였는데 오류가 난다면?(feat. kotlin)  (0) 2023.10.16
[Spring Boot] Spring 에서 Redis 를 사용할 때 ConnectionFactory 를 왜 Bean 으로 등록해서 사용해야 할까?(feat. Kotlin, Lettuce, LettuceConnectionFactory was not initialized through afterPropertiesSet())  (0) 2023.06.10
[Spring Boot] custom error page 적용(feat. 예제, ErrorController)  (0) 2023.05.26
    'Spring Boot' 카테고리의 다른 글
    • [Spring Boot] Spring Security 설정 과정에서 `please use permitAll via HttpSecurity#authorizeHttpRequests instead` 문구 발생(feat. ignoring)
    • [Spring] Custom Enum Value 를 Swagger 문서에 노출시키고 싶으면 어떻게 해야할까?
    • [Spring Boot] @ModelAttribute 로 맵핑하려는 대상의 depth 가 2 이상일 때 요청하였는데 오류가 난다면?(feat. kotlin)
    • [Spring Boot] Spring 에서 Redis 를 사용할 때 ConnectionFactory 를 왜 Bean 으로 등록해서 사용해야 할까?(feat. Kotlin, Lettuce, LettuceConnectionFactory was not initialized through afterPropertiesSet())
    sggnology
    sggnology
    하늘은 파란색이니까 내 삶도 파란색이길 ㅎㅎ

    티스토리툴바