DBMS & NoSQL MySQL Current: 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 BASH 해결하려면 DBMS 나 사용자의 인증 정책을 변경해 주면 됩니다.사용자별 인증 정책 변경MySQL 8은 ALTER USER 구문으로 사용자별로 사용할 인증 정책을 설정할 수 있습니다. 다음은 예전 인증 방식인 mysql_native_password 로 변경하는 예제입니다. 예전 인증 정책으로 변경 ALTER USER lesstif IDENTIFIED WITH mysql_native_password BY 'mypassword'; SQL 만약 다음과 같은 에러가 난 다면 사용자명에 host 까지 명시적으로 지정해서 실행하면 됩니다. MySQL 1396 에러 ERROR 1396 (HY000): Operation ALTER USER failed for 'lesstif'@'%' BASH 예전 인증 정책으로 변경 ALTER USER 'lesstif '@'localhost' IDENTIFIED WITH mysql_native_password BY 'mypassword'; SQL MySQL 서버 변경MySQL 의 서버 설정에 다음과 같은 내용을 추가하고 재기동하면 모든 사용자에 대해 mysql_native_password 인증을 사용하므로 예전 클라이언트로 연결해도 문제가 없습니다. [mysqld] default_authentication_plugin=mysql_native_password CODE 이미 생성한 사용자는 인증 방식이 달라지면 로그인 오류가 나니 암호를 재설정해줘야 합니다. ALTER USER 'lesstif '@'localhost' IDENTIFIED BY 'mypassword'; CODE 같이 보기MySQL 8 암호 정책(Password policy) 확인 및 수정하기MySQL ERROR 1698 (28000): 에러 해결Refhttps://dev.mysql.com/doc/refman/8.0/en/upgrading-from-previous-series.html#upgrade-caching-sha2-passwordhttps://stackoverflow.com/questions/52364415/php-with-mysql-8-0-error-the-server-requested-authentication-method-unknown-to mysql-trouble-shooting ×