봄날의 로그

[MySQL] MySql 8.0이상 caching_sha2_password authentication error 해결 본문

카테고리 없음

[MySQL] MySql 8.0이상 caching_sha2_password authentication error 해결

호잇호잇의 봄날들 2025. 1. 21. 12:45

MySQL의 기본 인증 플러그인은 mysql_native_password였는데

8.0 이후로 caching_sha2_password로 바뀐 듯 하다.

 

방법은 cashing_sha2_password로 되어있는 인증 방식을 이전의 mysql_native_password로 바꾸면 된다.

 

 

MySQL 컨테이너에 접속

docker exec -it coupon-mysql mysql -u root -p

 

인증방식 확인

SELECT user, host, plugin FROM mysql.user;

 

 

caching_sha2_password 으로 설정되어 있는 것을 확인 할 수 있다.

그리고 yml 파일에 설정해 놓은 user 계정이 없는것도 확인 하였다.

 

 

인증방식만 변경할 경우

ALTER USER 'root'@'%' IDENTIFIED WITH 'mysql_native_password' BY 'root1234';
ALTER USER 'user'@'%' IDENTIFIED WITH 'mysql_native_password' BY 'user1234';

 

user 계정을 생성하고 인증방식을 mysql_native_password 로 설정한다.

CREATE USER 'user'@'%' IDENTIFIED WITH 'mysql_native_password' BY 'user1234';
GRANT ALL PRIVILEGES ON coupon.* TO 'user'@'%';
FLUSH PRIVILEGES;

 

결과 확인

SELECT user, host, plugin FROM mysql.user;