🙅🏻♂️ 오류 발생
지금까지 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" 터미널이 편하다면 해당 경로로 가서 커멘드로 삭제해줘도 된다. 근데 세상에 마우스로 누르는거보다 커멘드가 편한 사람이 몇이나 있을까 🥲
이제 관련된 파일이라는 것은 my.cnf가 포함된 파일, 폴더는 다 삭제해주면 된다. 예를 들어 위 폴더에는 "my.cnf", "my.cnf.d", "my.cnf.default"가 있다. 제 폴더에 있는 파일과 다를 수도 있으니 my.cnf가 들어가있는 파일, 폴더를 모두 삭제해줍니다.
맥북에서 해당 경로로 이동하는건 생각보다 매우 쉽다. finder로 들어가서 왼쪽 위 상단에 "이동"이라는 메뉴가 있다. 누른 후 "폴더로 이동" 누르면 경로로 이동할 수 있다.
# mySQL 관련 폴더 삭제하기
위에서 my.cnf 관련 파일을 모두 삭제했다면 다음 경로로 이동해줍니다. "/opt/homebrew/var" 이동해보면 mysql이라는 파일이 있는 것을 볼 수 있습니다. 음....나 mysql 삭제했는데 왜 아직 폴더가 남아있지..?라는 생각이 들겁니다.
여기에 있는 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가 종료됩니다.
'🧑🏻💻 Dev > 오류해결' 카테고리의 다른 글
Mustache 사용해서 html 파일 읽을 때 한글 깨짐 (0) | 2023.06.08 |
---|---|
[오류해결] IntelliJ 커스텀 properties 자동완성 안되는 오류 (0) | 2023.04.27 |
[오류해결] No serializer found for class (InvalidDefinitionException) (0) | 2023.04.20 |
[오류해결] JSP img GET 요청 시 한글 깨짐 (0) | 2023.03.14 |
[오류해결] 로컬에 있는 이미지 파일 JSP에서 사용하기 (0) | 2023.03.02 |