/
MySQL [2054] 에러 해결 - MySQL 8 인증 정책(Authentication policy) 수정하기
MySQL [2054] 에러 해결 - MySQL 8 인증 정책(Authentication policy) 수정하기
개요
MySQL 이 8로 업그레이드되면서 기본 인증 정책이 mysql_native_password 에서 caching_sha2_password 로 변경되었습니다.
사용자 암호 해싱에 SHA-256 을 사용하니 더 견고해진 것은 맞지만 문제는 예전 client 로 연결시 다음과 같은 에러가 발생할 수 있는 점입니다.
MySQL 2054 error
SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client
해결하려면 DBMS 나 사용자의 인증 정책을 변경해 주면 됩니다.
사용자별 인증 정책 변경
MySQL 8은 ALTER USER 구문으로 사용자별로 사용할 인증 정책을 설정할 수 있습니다. 다음은 예전 인증 방식인 mysql_native_password 로 변경하는 예제입니다.
예전 인증 정책으로 변경
ALTER USER lesstif IDENTIFIED WITH mysql_native_password BY 'mypassword';
만약 다음과 같은 에러가 난 다면 사용자명에 host 까지 명시적으로 지정해서 실행하면 됩니다.
MySQL 1396 에러
ERROR 1396 (HY000): Operation ALTER USER failed for 'lesstif'@'%'
예전 인증 정책으로 변경
ALTER USER 'lesstif '@'localhost' IDENTIFIED WITH mysql_native_password BY 'mypassword';
MySQL 서버 변경
MySQL 의 서버 설정에 다음과 같은 내용을 추가하고 재기동하면 모든 사용자에 대해 mysql_native_password 인증을 사용하므로 예전 클라이언트로 연결해도 문제가 없습니다.
[mysqld] default_authentication_plugin=mysql_native_password
이미 생성한 사용자는 인증 방식이 달라지면 로그인 오류가 나니 암호를 재설정해줘야 합니다.
ALTER USER 'lesstif '@'localhost' IDENTIFIED BY 'mypassword';
같이 보기
Ref
, multiple selections available,
Related content
PHP에서 MySQL 8 연결 에러 - caching_sha2_password unknown authentication method
PHP에서 MySQL 8 연결 에러 - caching_sha2_password unknown authentication method
More like this
MySQL 8 암호 정책(Password policy) 확인 및 수정하기
MySQL 8 암호 정책(Password policy) 확인 및 수정하기
More like this
Java에서 MySQL 8 연결 에러 - Establishing SSL connection without server's identity verification is not recommended.
Java에서 MySQL 8 연결 에러 - Establishing SSL connection without server's identity verification is not recommended.
More like this
nodeJS에서 MySQL 연결시 ER_NOT_SUPPORTED_AUTH_MODE 에러 해결
nodeJS에서 MySQL 연결시 ER_NOT_SUPPORTED_AUTH_MODE 에러 해결
More like this
RHEL/CentOS 에 MySQL 8 설치하기
RHEL/CentOS 에 MySQL 8 설치하기
More like this
MySQL ERROR 1698 (28000): 에러 해결
MySQL ERROR 1698 (28000): 에러 해결
More like this