카테고리 없음

MySQL default_authentication_plugin 완전 정리: 의미부터 접속 오류 해결까지

idea9329 2026. 2. 2. 16:39
728x90
반응형

 

default_authentication_plugin 한 줄 정의

default_authentication_plugin은 MySQL에서 “새로 생성되는 사용자 계정”에 기본으로 적용될 인증 방식(플러그인)을 지정하는 설정이야.
즉, CREATE USER 할 때 별도 지정이 없으면 이 값이 계정 인증 방식의 기본값이 된다.


왜 이 설정이 중요한가?

운영에서 가장 많이 터지는 케이스가 이거야.

  • MySQL 8.x 도입 후 신규 계정 생성
  • 앱/툴(클라이언트)이 최신 인증 방식 지원을 못 함
  • 결과: DB 접속 실패

특히 레거시 JDBC, 오래된 Python 드라이버, 일부 배포/운영 툴에서 바로 이슈로 이어져.


어떤 값들이 들어가나? (자주 쓰는 2가지)

아래 두 개가 실무에서 대부분을 차지해.

값특징장점단점/주의

mysql_native_password 구(舊) 방식 호환성 매우 좋음 보안 측면에서 최신 방식보다 약함
caching_sha2_password MySQL 8 기본(최신) 보안 강화(SHA-256 기반) 오래된 클라이언트에서 접속 실패 가능

접속 오류가 나는 대표 증상

보통 아래처럼 떨어져.

상황에러/현상원인

MySQL 8로 올린 뒤 접속 실패 Authentication plugin 'caching_sha2_password' is not supported 클라이언트가 caching_sha2_password 미지원
같은 서버인데 신규 계정만 접속 실패 특정 계정만 로그인 불가 신규 계정이 기본 플러그인으로 생성됨
배치/운영툴만 실패 애플리케이션/툴별로 접속 편차 드라이버 버전 차이

현재 설정 확인 방법

1) 서버 기본값 확인

SHOW VARIABLES LIKE 'default_authentication_plugin';

2) 계정별 실제 인증 플러그인 확인

SELECT user, host, plugin
FROM mysql.user;

해결 방법 3가지 (실무에서 바로 쓰는 순서)

✅ 1) 클라이언트/드라이버 업그레이드 (권장)

가능하면 이게 제일 깔끔해.

  • 최신 MySQL Connector/J
  • 최신 Python mysqlclient / pymysql 등
  • 최신 운영툴(배포툴, 마이그레이션 툴)

✅ 2) 특정 계정만 인증 플러그인 변경 (가장 많이 씀)

접속 문제가 생긴 그 계정만 mysql_native_password로 바꾸는 방식.

ALTER USER 'user'@'%'
IDENTIFIED WITH mysql_native_password BY 'password';
FLUSH PRIVILEGES;

장점: 영향 범위가 작고 빠름
단점: 계정 수가 많으면 관리 부담


✅ 3) 서버 기본값 자체를 변경 (신규 계정 전체 정책 변경)

“앞으로 생성될 계정은 전부 native로 가자” 같은 정책일 때.

  • my.cnf / my.ini에 설정:
[mysqld]
default_authentication_plugin=mysql_native_password

주의: 기존 계정의 plugin이 자동으로 바뀌는 건 아님
“앞으로 만드는 계정”에만 기본 적용돼.


운영 체크리스트: 이 이슈를 사전에 막는 방법

체크 항목추천

MySQL 버전 확인 8.x면 인증 플러그인 이슈 가능성 ↑
신규 계정 생성 표준화 CREATE USER ... IDENTIFIED WITH ...로 명시
드라이버 버전 관리 배포 전 “접속 테스트” 자동화
계정 plugin 점검 쿼리 mysql.user plugin 컬럼 주기적 확인

결론: default_authentication_plugin은 “신규 계정의 기본 로그인 규칙”이다

정리하면 딱 이거야.

  • default_authentication_plugin은 신규 계정 생성 시 기본 인증 방식
  • MySQL 8에서 caching_sha2_password가 기본이라 접속 이슈가 잦음
  • 해결은 보통
    1. 드라이버 업그레이드
    2. 계정만 native로 변경
    3. 서버 기본값 변경
      순으로 접근하면 빠르게 정리돼



728x90
반응형