Spring MySQL 연동 이슈

SeHun.J·2024년 1월 18일
0
post-thumbnail

연동 이슈 정리

다시 취업을 위해, Spring을 공부하기 시작했는데 1년이 지나서인지 잊어버린 것도 많고 헤깔리는게 너무 많았습니다. 그래서 겪었던 사소한 이슈여도 전부 글로 남기기로 결정!

1. MySQL Workbench 오류

설치를 전부 끝내고, 이것저것 만지던 중 아래의 스샷과 같은 오류가 발생했습니다.
workbench error

구글링을 통해 시도해본 결과,

1-1. MySQL 경로 환경변수에 추가 (X)

사실 이건 큰 의미가 없었습니다. cmd나 PowerShell에서도 mysql 명령어를 쓸 수 있게 도와줄 뿐이었습니다.

환경변수 path 추가 : C:\Windows\System32
환경변수 path 추가 : C:\Program Files\MySQL\MySQL Server 8.0\bin

1-2. 시스템 로캘 변경 : Unicode UTF-8 사용 (X)

이 방법은 보기만 하고 시도는 안했습니다. 해당 옵션을 활성화하면 호환이 안되는 응용프로그램이 생각보다 많았습니다. 해당 옵션을 활성화한 상태로 개발하다가 겪었던 이슈여서...

1-3. MySQL 서비스 실행하기 (△)

해당 방법은 실제로 서비스가 중지된 분들에게는 의미 있는 해결책일 수 있습니다. 다만, 저의 경우에는 서비스가 멀쩡하게 작동하고 있었기 때문에 세모로 표기했습니다.

1-4. MySQL Workbench 버전을 8.0.22로 다운그레이드하기 (O)

먼저, 기존에 설치되어 있던 Workbench를 삭제합니다.
workbench uninstall

아래의 링크에서 Workbench 버전을 8.0.22로 다운받습니다.
https://downloads.mysql.com/archives/workbench/
workbench download

다운로드 받은 파일을 실행하여 설치해주시고, 접속하시면 정상적으로 작동합니다!
workbench working

2. Access denied for user '계정'@'localhost'

아무런 코드도 없는 상태에서 MySQL과 연결을 위해 의존성을 추가하고, applications.yaml (.properties)에 관련 설정을 작성했습니다. 하지만 서버를 실행했을 때 오류가 발생했고 추적 결과, 계정에 로그인을 못하고 있음을 확인했습니다.
spring error
조금 허무했지만, 같은 실수를 하지 않기 위해...
오류의 원인은 "비밀번호를 영어 대소문자, 특수문자 포함 8글자 이상으로 설정하지 않았기 때문"이었습니다... 개발환경이기도 하고, 간단하게 테스트하기 위한 목적이었기 때문에 root 계정의 비밀번호를 0000으로 설정했었는데 Workbench에서는 잘 접속되었기 때문에 원인이라고 생각하지도 못했었던...

그래서 해결방법은 비밀번호 규칙에 맞게 다시 설정해주시면 됩니다. 비밀번호 변경은 Workbench에서는 밑줄 친 부분을 확인하시면 됩니다.
workbench password change

cmd에서는

mysql -u root -p // 먼저 root로 로그인

ALTER USER 'user-name'@'localhost' IDENTIFIED BY 'NEW_USER_PASSWORD';
FLUSH PRIVILEGES;

powershell mysql
저는 javauser 계정의 비밀번호를 변경했습니다. javauser는 localhost 대신 '%'로 설정했었기 때문에 똑같이 @ 뒤에 '%'로 넣었습니다.

비밀번호를 변경했다면, 다시 서버를 실행해봅시다.
spring run
오류 없이 성공적으로 실행되었습니다!

profile
취직 준비중인 개발자

0개의 댓글