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

deannn.Park·2021년 6월 10일
0
post-thumbnail

MySQL 8.0 이상의 버전을 사용할 경우 위와 같이 caching_sha2_password authentication plugin 문제로 접속이 안되는 경우가 있다.

원인

터미널로 직접 접속은 가능하지만 외부 접속이나 sql client 접속이 안되는 경우이다.
mysql의 기본 인증 플러그인은 mysql_native_password였는데, 8.0 이후로 caching_sha2_password로 바뀐 듯하다. 따라서 caching_sha2_password 플러그인을 사용하라는 것이다.

하지만 caching_sha2_password 플러그인을 사용하려면

  1. SSL 보안연결
  2. RSA 보안을 적용한 비암호 연결

둘 중 하나를 사용해야 한다.

해결 방법.

위의 두가지 방법을 사용해도 되지만 이 글에서는 소개하는 것은 위의 방법 말고 이전과 같이 접속하는 방법이다. 이게 가장 쉽다.
방법은 cashing_sha2_password로 되어있는 인증 방식을 이전의 mysql_native_password로 바꾸면 된다.

이미 생성된 유저

ALTER USER 'yourusername'@'localhost' IDENTIFIED WITH mysql_native_password BY 'youpassword';

기본 설정으로 바꾸기

my.dnf 파일에서 아래처럼 설정한다.

[mysqld]

default_authentication_plugin=mysql_native_password

저장 후 mysql 재시동.

이는 다음에 계속 만든 유저 또한 mysql_native_password 플러그인을 사용할 수 있도록 기본값으로 설정하는 것이다.
다만 이미 만들어진 유저는 적용이 안되고, mysql 재시동 후에 새로 만든 유저에만 적용된다.

profile
컴퓨터 관련 여러 분야 공부중

0개의 댓글