기록하다

Mac 에서 Mysql 문제해결 로그

메슈어 2020. 8. 12. 12:42

django.db.utils.OperationalError: (2059, "Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(/opt/anaconda3/envs/py27/lib/plugin/caching_sha2_password.so, 2): image not found")

 

django + mysql 로컬에서 테스트 DB가 필요해 mysql server를 설치하던 중 위와 같은 오류 메시지를 만났다. 

위 메시지 caching_sha2_password.so 파일이 없다는 내용이다. mysql 8.x 버전부터 키 타입이 바뀌어 나타나는 오류다.

그러니 해결방법은 두가지. 

접속하는 클라이언트가caching_sha2 타입의 패스워드를 지원하도록 하는 것이고, 두번째는 mysql 버전을 낮춰 맞추는 것이다. 

나는 맥에서  homebrew 를 사용해 설치했으므로 아래와 같이 특정 버전의 mysql 을 설치했다. 

 

*참고로 homebrew를 사용하지 않는다면  pip install mysql==[버전]  으로 특정버전의 패키지 설치가 가능하다.

 

homebrew 설치

터미널에 아래의 명령어 입력

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

 

설치할 수 있는 mysql 버전확인

brew search mysql

  설치된 mysql 버전과 설치 할 수 있는 버전 확인

이미 설치 된 버전이라면 초록색 체크표시가 되어있다. 

예로 5.6버전을 설치한다면

Mysql 특정 버전 설치

brew install mysql@5.6

 

 일반적으로  brew install mysql  버전을 지정하지 않고 설치한다면, 가장 최신 버전이 설치된다. 

 

여러버전의 mysql을 설치해서 사용할 수 있겠지만, 의존성 부분에서 관리가 까다롭다. 

 

mac에서 mysql 삭제

sudo rm -rf /usr/local/var/mysql

sudo rm -rf /usr/local/bin/mysql*

sudo rm -rf /usr/local/Cellar/mysql