Django&MySQL 연결 중 "Access denied for user 'root'@'localhost" 에러

chaewon Im·2022년 1월 4일
0

트러블슈팅

목록 보기
6/10

진짜 어이없지만 여기에 6시간 쓰고 해결한 에러 기록...분명 나중에 또 애먹을 것 같아서 미리 정리해둔다.

<참고로 기준은 맥OS>

문제

DB 설정을 하려고 이것저것(공식 dmg로도 설치하고 homebrew도 설치하고 비번도 바꾸고 ㄹㅇ이것저것...)하다보니 어느순간부터 mysql 명령어를 입력할 때 마다 자꾸 이 에러가 뜸.

ERROR! The server quit without updating PID file (/usr/local/var/mysql/imchaewon-ui-MacBook-Pro.local.pid).

거기다 장고에서 마이그레이트 하려고 하면

django.db.utils.OperationalError: (1045, "Access denied for user 'root'@'localhost' (using password: YES)")

찾아보니 첫번째 에러는 mysql을 homebrew로 설치하고 공식 dmg 파일로도 설치하고 비번도 바꾸고 유저도 만들고 하는 과정에서 뭔가 파일이 꼬인 것 같았다. 해결 방법으로는 대부분 mysql을 싹 제거하고 다시 깔라는 해결책 뿐.

그래서 다시 깔았다.

해결과정

1.mysql 삭제

참고문서:MAC에서 mysql 다시 깔기

여기서 재부팅 이후 과정인 homebrew로 다시 설치하면 안된다!!재부팅 전 삭제하는 과정까지만 그대로 따라했다.

이유는 찾아봐야 알겠지만 homebrew로 설치하면 usr/local이였나 usr/local/var 폴더에 mysql 폴더가 제대로 설치가 되지 않아서 다시 문제가 발생함. 그래서 결국 두번 삭제하고 다시 깔았다.

2. 재설치

homebrew로 터미널에서 설치하는 방식이 아니라
공식에서 dmg파일을 다운받아 설치하면 정상적으로 파일이 생성된다.
공식 다운로드 바로가기(맥os)

그리고 MySQL Workbench 다시 실행해줬더니 다른 블로그엔 다 있지만 나만 여태 없던 Local instance가 생겼다!

3.스키마 생성

이제 Local instance로 들어가서 스키마를 생성해준다.
사진은 장고 프로젝트 내의 settings.py의 데이터베이스를 설정하는 부분이다.
여기서 설정해둔 NAME을 스키마 이름으로 지정한다. 내 경우 스키마 이름은 MUSINSA

저기 저 좌측 탭의 Schemas 라고 된 탭 들어가서 우클릭 하면 create Schema가 뜨는데, 그거 누르고 스키마 생성

이름만 설정하면 끝.
근데 이래도 문제가 해결이 안되서 띠용했다...근데 알고보니 겁나 단순하다.

4.진짜 문제는 바로 요놈, password


바로 여기서 'PASSWORD'의 값과 내가 아까 mysql 설치할 때 설정한 비밀번호가 달라서 그랬다. 이 settings.py에서 'PASSWORD':'아까 mysql 설치할 때 설정한 비번' 으로 바꿔주니 migrate가 정상적으로 진행됐다!

돌고돌아 겨우...성공...🌟

profile
빙글빙글 돌아가는 주니어 프론트엔드 개발자

0개의 댓글