본문 바로가기

🧑🏻‍💻 Dev/오류해결

[MAC M1] MariaDB ERROR 2002 (HY000): Can't connect to local server through socket '/tmp/mysql.sock' 해결

🙅🏻‍♂️ 오류 발생

지금까지 DB를 쓸 때는 항상 MySQL을 사용했었다. MySQL은 Homebrew를 통해서 다운로드 했고, 새로운 프로젝트 연습을 위해서 MariaDB를 사용해보려고 했다. 그래서 MariaDB를 다운로드 받는 방법을 따라서 다운로드 했고, 다운로드 완료 후 MariaDB 실행 과정에서 해당 오류가 발생했다.

ERROR 2002 (HY000): Can't connect to local server through socket '/tmp/mysql.sock'

예전에 내 노트북은 아니고, 친구 노트북에서 해당 오류를 접했던적이 있었다. /tmp/mysql.sock 문제는 원인이 매우 많다고 한다. 그때는 뭔가 이것저것 다 건들다가 결국 안돼서 노트북을 그냥 밀어버렸던 기억이 있다. 

 

 

 

🙆🏻‍♂️ 해결과정

내가 해결했던 과정을 기록해보려고 한다. 발생 원인에 따라서 다를 수도 있으니 한번 글을 모두 읽고나서 따라해보는 것을 추천한다. 따라갔다가 돌아올 수 없는 길을 건널 수도 있으니...

 

 

1. MySQL 삭제

일단 생각했던 건 MySQL과 MariaDB가 둘다 같은 포트번호인 3306 포트를 사용한다고 한다. 그러니깐 MySQL과 MariaDB를 모두 삭제하고 다시 깔아보자는 생각을 했다. 아래에 기록하는 과정은 Homebrew를 통해서 다운로드한 경우에만 가능합니다.

# MySQL이 brew services에서 실행 중이라면
> brew services stop mysql
# homebrew에서 mysql 삭제
> brew uninstall mysql

 

 

2. MariaDB 삭제

# MariaDb가 brew services에서 실행 중이라면
> brew services stop mariadb
# homebrew에서 mariaDB 삭제
> brew uninstall mariadb
> brew cleanup

 

 

3. MySQL, MariaDB와 관련된 파일 모두 삭제

여러 게시글에서 finder에 직접 mysql, mariadb를 검색해서 찾아서 삭제하라고 하는데, 제 노트북에는 많은 프로젝트 파일들이 있어서 해당 파일에 mysql 관련된 파일이 너무 많아서 분류할 수 없었습니다. 그래서 경로로 타고 들어가서 직접 디렉터리와 파일을 삭제했습니다.

 

m1칩과 intel 칩 Mac book이 homebrew 사용 시 다운로드되는 경로가 다르다고 알고있습니다. 저는 m1칩 기준으로 설명했기 때문에 경로는 구글링으로 자세하게 찾아본 후 해보시기 바랍니다.

 

# my.cnf 관련된 파일 모두 삭제하기

 

/opt/homebrew/etc

 

위 폴더의 경로는 다음과 같다. "/opt/homebrew/etc" 터미널이 편하다면 해당 경로로 가서 커멘드로 삭제해줘도 된다. 근데 세상에 마우스로 누르는거보다 커멘드가 편한 사람이 몇이나 있을까 🥲

 

이제 관련된 파일이라는 것은 my.cnf가 포함된 파일, 폴더는 다 삭제해주면 된다. 예를 들어 위 폴더에는 "my.cnf", "my.cnf.d", "my.cnf.default"가 있다. 제 폴더에 있는 파일과 다를 수도 있으니 my.cnf가 들어가있는 파일, 폴더를 모두 삭제해줍니다.

 

맥북에서 해당 경로로 이동하는건 생각보다 매우 쉽다. finder로 들어가서 왼쪽 위 상단에 "이동"이라는 메뉴가 있다. 누른 후 "폴더로 이동" 누르면 경로로 이동할 수 있다.

finder > 이동 > 폴더로 이동

 

# mySQL 관련 폴더 삭제하기

위에서 my.cnf 관련 파일을 모두 삭제했다면 다음 경로로 이동해줍니다. "/opt/homebrew/var" 이동해보면 mysql이라는 파일이 있는 것을 볼 수 있습니다. 음....나 mysql 삭제했는데 왜 아직 폴더가 남아있지..?라는 생각이 들겁니다.

/opt/homebrew/var

 

여기에 있는 mysql 폴더도 삭제해줍니다.

 

 

4. MiriaDB 설치하기

이제 Homebrew를 통해서 MariaDB를 설치해줍니다. 

# MariaDB 설치
> brew install mariadb
# MariaDB 설치 확인하기
> mariadb -V

설치 완료 후에 버전을 확인해보면 본인이 다운로드 받은 MariaDB의 버전을 확인할 수 있습니다. 저 같은 경우는 아래와 같이 뜹니다.

mariadb  Ver 15.1 Distrib 10.11.2-MariaDB, for osx10.18 (arm64) using  EditLine wrapper

 

이제 MariaDB가 설치되었으니 실행시켜 봅시다.

# Homebrew에서 MariaDB 서비스 시작
> brew services start mariadb
# Homebrew에서 실행 중인 서비스 확인하기
> brew services

brew services 결과 아래와 같이 뜨면 성공입니다!

Name    Status  User       File
mariadb started {본인의 맥북이름} ~/Library/LaunchAgents/homebrew.mxcl.mariadb.plist

기존에는 Status가 stopped 상태였는데 이제, started가 되었습니다! 이제 MariaDB에 접근이 되는지 확인해보면 끝입니다. 터미널에 아래와 같이 입력합니다.

# MariaDB 실행
> mariadb

실행되면 아래와 같이 터미널이 변합니다.

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 4
Server version: 10.11.2-MariaDB Homebrew

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

이제 MariaDB가 정상적으로 실행됐습니다. 여기까지 확인했으면 이제 MariaDB 실행을 종료할 때는 exit라고 쳐주면 Bye 라는 문구가 나오면서 MariaDB가 종료됩니다.