상황
mysql -uroot
root계정으로 접속을 하려 할 때 에러 발생
에러
- ERROR! The server quit without updating PID file
- ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock'
위의 에러로 인해 구글링을 시작하였다.
많은 정보들이 나왔고 이를 따라 해봤는데 계속 접속이 안되어 하루 반나절을 날려먹은 경험을 적어보려합니다.
단계
첫번 째 에러같은 경우는 권한의 문제로 발생하는 문제라 나온다.
1. PID kill
$ ps -ef | grep mysql
위의 코드를 사용하여 mysql PID를 킬한다.
2. 디렉토리 소유권 변경
sudo chown -R _mysql:mysql /opt/homebrew/var/mysql
코드를 사용하여 /opt/homebrew/var/mysql 디렉토리의 소유권을 (_mysql:mysql)로 변경합니다.
3. 디렉토리 권한 설정
sudo chmod -R 777 /opt/homebrew/var/mysql
/opt/homebrew/var/mysql 디렉토리의 읽기와 쓰기 및 실행 권한을 설정합니다.
설정을 다하였으면 server를 실행한다.
mysql.server start
실패한다. 여전히 같은 에러가 발생한다.
서버 실행도 되지 않거나 실행은 되고 접속 과정에서 2번과 같은 에러가 발생한다면 다음 단계로 넘어간다.
4. 파일 삭제 후 재설치
/opt/homebrew/var/mysql
/opt/homebrew/etc/my.cnf
현재 2개의 파일만 설치가 되어 있으니 말끔히 삭제한다.
삭제 후 해당 디렉토리에 파일이 있는지 꼭 확인해야 한다.
sudo rm -rf /opt/homebrew/var/mysql
sudo rm -rf /opt/homebrew/etc/my.cnf
brew install mysql
설치가 되면 서버를 실행시켜본다.
성공되지만 로그인 과정에서 2번 에러가 발생한다.
다시 4번 과정을 거치고 재부팅한다음 접속을 시도해보자.
접속에 성공할 수 있을 것이다.
참고
https://github.com/rangyu/TIL/blob/master/mysql/MySQL-완전-삭제하고-재설치하기-(MacOS).md
'DB' 카테고리의 다른 글
MySQL like 문 % 위치에 따라 index의 적용 여부 (0) | 2023.02.15 |
---|---|
[DataBase] Index란? (0) | 2022.08.03 |
[JDBC] JDBC 란 무엇일까 (0) | 2022.02.09 |