다시 취업을 위해, Spring을 공부하기 시작했는데 1년이 지나서인지 잊어버린 것도 많고 헤깔리는게 너무 많았습니다. 그래서 겪었던 사소한 이슈여도 전부 글로 남기기로 결정!
설치를 전부 끝내고, 이것저것 만지던 중 아래의 스샷과 같은 오류가 발생했습니다.
구글링을 통해 시도해본 결과,
사실 이건 큰 의미가 없었습니다. cmd나 PowerShell에서도 mysql 명령어를 쓸 수 있게 도와줄 뿐이었습니다.
환경변수 path 추가 : C:\Windows\System32
환경변수 path 추가 : C:\Program Files\MySQL\MySQL Server 8.0\bin
이 방법은 보기만 하고 시도는 안했습니다. 해당 옵션을 활성화하면 호환이 안되는 응용프로그램이 생각보다 많았습니다. 해당 옵션을 활성화한 상태로 개발하다가 겪었던 이슈여서...
해당 방법은 실제로 서비스가 중지된 분들에게는 의미 있는 해결책일 수 있습니다. 다만, 저의 경우에는 서비스가 멀쩡하게 작동하고 있었기 때문에 세모로 표기했습니다.
먼저, 기존에 설치되어 있던 Workbench를 삭제합니다.
아래의 링크에서 Workbench 버전을 8.0.22로 다운받습니다.
https://downloads.mysql.com/archives/workbench/
다운로드 받은 파일을 실행하여 설치해주시고, 접속하시면 정상적으로 작동합니다!
아무런 코드도 없는 상태에서 MySQL과 연결을 위해 의존성을 추가하고, applications.yaml (.properties)에 관련 설정을 작성했습니다. 하지만 서버를 실행했을 때 오류가 발생했고 추적 결과, 계정에 로그인을 못하고 있음을 확인했습니다.
조금 허무했지만, 같은 실수를 하지 않기 위해...
오류의 원인은 "비밀번호를 영어 대소문자, 특수문자 포함 8글자 이상으로 설정하지 않았기 때문"이었습니다... 개발환경이기도 하고, 간단하게 테스트하기 위한 목적이었기 때문에 root 계정의 비밀번호를 0000으로 설정했었는데 Workbench에서는 잘 접속되었기 때문에 원인이라고 생각하지도 못했었던...
그래서 해결방법은 비밀번호 규칙에 맞게 다시 설정해주시면 됩니다. 비밀번호 변경은 Workbench에서는 밑줄 친 부분을 확인하시면 됩니다.
cmd에서는
mysql -u root -p // 먼저 root로 로그인
ALTER USER 'user-name'@'localhost' IDENTIFIED BY 'NEW_USER_PASSWORD';
FLUSH PRIVILEGES;
저는 javauser 계정의 비밀번호를 변경했습니다. javauser는 localhost 대신 '%'로 설정했었기 때문에 똑같이 @ 뒤에 '%'로 넣었습니다.
비밀번호를 변경했다면, 다시 서버를 실행해봅시다.
오류 없이 성공적으로 실행되었습니다!