본문 바로가기
IT&DEV - IT & 개발/Backend

MySQL 연결 오류 해결: Authentication plugin 'caching_sha2_password' cannot be loaded 오류 해결 방법

by Hoft 2025. 3. 14.
728x90
반응형

MySQL을 사용하다 보면 아래와 같은 오류를 만날 수 있습니다.

MySQL said: Authentication plugin 'caching_sha2_password' cannot be loaded:
dlopen(/usr/local/lib/plugin/caching_sha2_password.so, 0x0002):
tried: '/usr/local/lib/plugin/caching_sha2_password.so' (no such file),
'/System/Volumes/Preboot/Cryptexes/OS/usr/local/lib/plugin/caching_sha2_password.so' (no such file)

이 오류는 MySQL 클라이언트가 caching_sha2_password 인증 방식을 지원하지 않을 때 발생합니다. 이번 포스팅에서는 해당 오류의 원인과 해결 방법을 자세히 살펴보겠습니다.


🔍 오류 원인

  1. MySQL 클라이언트 버전이 낮음
    • MySQL 8.0 이상에서는 기본 인증 방식으로 caching_sha2_password를 사용합니다.
    • 하지만 MySQL 클라이언트(Workbench, Connector 등)의 버전이 낮으면 이를 지원하지 않아 오류가 발생합니다.
  2. MySQL 서버가 인증 플러그인을 제대로 로드하지 못함
    • MySQL 서버의 플러그인 파일이 손상되었거나 누락되었을 수 있습니다.
  3. 사용자 계정의 인증 방식이 caching_sha2_password로 설정됨
    • 클라이언트가 mysql_native_password 방식을 지원하는 경우, 인증 방식을 변경해야 할 수도 있습니다.

🛠 해결 방법

✅ 1. 현재 MySQL 인증 방식 확인

우선, MySQL 서버에 접속하여 현재 사용자 계정의 인증 방식을 확인합니다.

SELECT user, host, plugin FROM mysql.user;

출력 결과에서 plugincaching_sha2_password로 설정되어 있다면, 다음 단계를 진행하세요.


✅ 2. MySQL 사용자 인증 방식을 mysql_native_password로 변경

MySQL 5.x 버전과 호환되도록 인증 방식을 변경합니다.

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'your_password';
FLUSH PRIVILEGES;

⚠️ 'your_password' 부분에 원래 사용하던 비밀번호를 입력하세요.

변경이 완료되었는지 다시 확인합니다.

SELECT user, host, plugin FROM mysql.user;

mysql_native_password로 변경되었으면 해결될 가능성이 높습니다.


✅ 3. MySQL 클라이언트를 최신 버전으로 업그레이드

클라이언트가 caching_sha2_password를 지원하지 않으면 최신 버전으로 업데이트해야 합니다.

Mac (Homebrew 사용 시)

brew upgrade mysql

Ubuntu/Debian

sudo apt update
sudo apt install mysql-client

Windows

MySQL 공식 사이트에서 최신 버전을 다운로드합니다.
🔗 https://dev.mysql.com/downloads/


✅ 4. MySQL 서버가 caching_sha2_password 플러그인을 인식하는지 확인

만약 caching_sha2_password 플러그인이 인식되지 않는다면, MySQL 서버에서 다음 명령어를 실행해봅니다.

SHOW PLUGINS;

만약 caching_sha2_password가 목록에 없다면, MySQL을 다시 설치하거나 플러그인을 추가해야 합니다.


🎯 결론

  1. MySQL 서버에서 현재 인증 방식 확인 (SELECT user, host, plugin FROM mysql.user;)
  2. MySQL 계정의 인증 방식을 mysql_native_password로 변경 (ALTER USER 명령어 사용)
  3. MySQL 클라이언트를 최신 버전으로 업그레이드
  4. MySQL 서버가 caching_sha2_password 플러그인을 제대로 인식하는지 확인

이 단계를 차례로 진행하면 오류를 해결할 수 있습니다. 😊

혹시 해결되지 않는다면 댓글로 질문을 남겨주세요! 🚀

728x90
반응형

댓글