inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법

2-4. 프로젝트 기본 설정하기 & 로컬 모니터링 인프라 설정

bootRun 실행 문제

해결된 질문

223

포포뇨

작성한 질문수 1

0

1. 현재 학습 진도

 

2. 어려움을 겪는 부분

-> Caused by: com.mysql.cj.exceptions.WrongArgumentException: !AuthenticationProvider.BadAuthenticationPlugin!

bootRun 실행 중 계속해서 !AuthenticationProvider.BadAuthenticationPlugin! 예외가 발생하면서 실패가 뜹니다.

인터넷 검색했더니 MySQL 사용자 인증 plugin을 mysql_native_password 로 변경하는 방법이 있어서 변경해보았지만 계속해서 해결하지 못해서 문의 드립니다.

java spring mysql redis 이력서

답변 3

2

포포뇨

혹시 저처럼 실수하시는 분 계실까 봐 해결 방법 공유드립니다!

제 로컬 MySQL이 3306 포트를 점유하고 있어서, Spring Boot가 Docker의 MySQL이 아니라 로컬 MySQL에 연결되고 있었습니다ㅠㅠ

netstat 으로 포트 점유 확인 후, 해당 프로세스를 강제 종료하고 딩코님 말씀대로 루트 프로젝트의 docker-compose.yml에 command: --default-authentication-plugin=mysql_native_password 추가 후 docker compose up db로 DB 컨테이너 다시 띄우니까 정상적으로 연결되었습니다!

같은 오류 겪으시는 분들 참고되셨으면 좋겠습니다!

0

딩코딩코

오 공유 감사드려용!!! ㅎㅎㅎ

0

딩코딩코

안녕하세요 포포뇨님!! 좋은 질문 감사합니다 ㅎ.ㅎ

 

MySQL 8.0 이상에서는 기본 인증 플러그인이 caching_sha2_password로 변경되었는데, 일부 클라이언트 라이브러리가 이를 완전히 지원하지 못해 발생하는 문제로 보입니다!

루트 프로젝트의 docker-compose.yml 에서 아래와 같이 수정을 해보시고 다시. 실행해보실 수 있을까요? 한 번 츄라이해보시고 안되시면 말씀해주세요!!

db:
  image: mysql:8.0
  command: --default-authentication-plugin=mysql_native_password

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 포포뇨님.

현재 겪고 계신 문제는 MySQL의 사용자 인증 방식과 관련된 것입니다. AuthenticationProvider.BadAuthenticationPlugin 예외는 주로 MySQL 서버와 클라이언트(예: Spring Boot 애플리케이션) 간의 인증 방식 불일치로 인해 발생합니다. 여기 몇 가지 해결책을 제시해드리겠습니다.

문제 원인

  • MySQL의 인증 방식: MySQL 8.0 이상에서는 기본 인증 플러그인이 caching_sha2_password로 변경되었습니다. 하지만 JDBC 드라이버 또는 설정에 따라 mysql_native_password 방식이 요구될 때가 있어 충돌이 발생할 수 있습니다.

해결 방법

  1. MySQL 사용자 인증 방식 변경:

    • MySQL 사용자 계정의 인증 방식을 mysql_native_password로 변경할 수 있습니다.
    ALTER USER 'yourUsername'@'localhost' IDENTIFIED WITH mysql_native_password BY 'yourPassword';
    
  2. JDBC URL 수정:

    • JDBC URL 에 useSSLallowPublicKeyRetrieval 속성을 추가하여 연결 문제를 해결할 수 있습니다.
    • 예시: jdbc:mysql://localhost:3306/yourDatabase?useSSL=false&allowPublicKeyRetrieval=true
  3. JDBC 드라이버 업그레이드:

    • 사용 중인 JDBC 드라이버 버전을 확인하고, 최신 버전으로 업그레이드하여 호환성 문제를 해결할 수도 있습니다. 최신 드라이버는 MySQL의 최신 기능과 변경사항을 더 잘 지원합니다.

참고 자료

이 방법들이 도움이 되길 바라며, 추가적으로 문제 해결에 어려움을 겪으신다면 추가적인 정보를 제공해주시면 좀 더 구체적인 지원을 드릴 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

조회속도 개선에서 더 개선하는 방법이 궁금합니다.

0

44

2

Build 관련 문제 (테스트 관련 문제)

0

44

2

인덱스 관련 질문 있습니다.

0

75

2

비관적 락 구현 방식 문의 건

0

82

2

외부 api 처리 방안에 대하여 궁금한 점이 있습니다.

0

93

2

네임드 락 사용 시 커넥션 풀을 분리하는 방법에 대한 질문

0

88

2

이벤트) 백엔드 기술면접 실전문제집

0

107

2

로컬에서 테스트 한 결과를 이력서에 써도 괜찮을까요?

0

134

2

데드락 발생 시, 외래 키를 제거하는 방법 관련 질문

0

91

2

Redis 캐싱을 도입하는데 db조회와 성능이 차이가 거의 없습니다.

0

115

2

k6 부하테스트 중인데 개선 전 성능이 너무 안나와서 고민

0

142

2

강의와 성능수치 비교

0

105

2

13강 강의 뒷부분의 과제 안내부분은 어디있나요?

0

52

2

이벤트 참가자 수 증가 후, save 메서드 호출 코드 질문

0

66

2

[수업 자료 질문] Cache Aside의 특징 문의

0

89

2

[수업자료 문의] RedisTemplate으로 SETNX 시 리턴값 문의

0

83

2

블로그에 학습 내용 정리 포스트를 올려도괜찮나요?

0

113

2

멀티스레드 상황인데 currentParticipants 가 AtomicInteger가 아닌 이유?

0

91

3

클라우드 환경 배포시 부하 테스트 방식에 대하여

0

153

2

k6 dashboad 안나오는 상

0

119

2

2-4 도커 빌드 에러가 계속 납니다.

0

302

2

AWS EC2에 도커 컨테이너가 동작하지 않을 때 확인 해야하는 것

0

118

2

성능 측정시

0

114

2

API 별 실행 쿼리 모니터링 구현 질문 있습니다.

0

87

2