mariadb 10.11 버전 설치를 기준으로 작성되었습니다.
mariadb설치 및 실행은 아래 사이트를 참고해주세요.
https://mariadb.com/kb/ko/installing-mariadb-on-macos-using-homebrew/
mariadb 특정 버전 설치 : brew install mariadb@10.11
brew services start 후 상태가 stop으로 나오면
brew link mariadb@10.11 —force
명령어 작성하고 엔터하면 연결됩니다.
실행되지 않을 경우,
ps aux | grep mysql 해서 나오는 프로세스
sudo kill [pid] 해서 모두 종료합니다.
ps aux : 시스템에 동작중인 모든 프로세스를 소유자 정보와 함께 다양한 정보를 출력합니다.
실행 중인 프로세스는 kill 해도 삭제되지 않습니다.
명령어 실행이 어려우시면 재부팅하시면 됩니다.
서비스 실행 후 mysql 등의 mariadb 접속 실행 명령어를 입력시
zsh: command not found: mysql 이런 문구가 나오는 것은
Homebrew 관련 오류 이므로
vi ~/.zshrc
로 설정파일을 연 후,
echo 'export PATH="/opt/homebrew/opt/mariadb@10.11(설치한 버전)/bin:$PATH"'
수정 한 후
source ~/.zshrc 로
복사 붙여넣기 하면 됩니다.
그래도
zsh: command not found: mysql 이런 문구가 나오면
/opt/homebrew/opt/mariadb@10.11(설치한 버전)/bin 위 경로에 가서
./mysql -u root
직접 실행시켜주면 접속됩니다.
[MySQL/MariaDB] - ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) 에러
https://blog.naver.com/islove8587/221970366883 참고
https://linked2ev.github.io/database/2021/06/11/MySQL,-MariaDB-ERROR-2002-(HY000)-Can't-connect-to-local-MySQL-server-through-socket-'tmp-mysql.sock'-(2)/ 참고
1) 원인
mysql.sock 파일이 경로 및 심볼릭링크 정확하지 않아서 발생하는 오류
2) 원인
mysql.sock 파일에 대한 권한 문제 오류
3) 원인
실질적인 설정 문제 일 수도 있으나, 설정 없이 갑자기 안되는 경우에는 Mac 업데이트로 인한 my.cnf 손상이나 mysql 실행 도중 손상되서 mysql.sock 문제가 발생 한 이유이다.
또는 구글링을 해서 여러 mysql 설정이 기술 된 my.cnf파일을 mysql, mariadb 또 버전이나 OS 환경을 고려하지 않고 무작정 가져다 사용하면 에러 발생가 발생 할 수 있다.
이럴 경우에는 data 백업 한 후에 재 설치해야 한다.
$ sudo ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
$ sudo ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
mysql.sock 심볼릭링크 확인
$ ls -al
lrwxr-xr-x 1 linked2ev admin 25 6 20 16:16 mysql.sock -> /var/lib/mysql/mysql.sock
/tmp/mysql.sock 라는 원본파일이 /var/lib/mysql/mysql.sock 에 Symbolic Link가 연결되었다는 의미
2) 해결
디렉토리에 권한 변경
$ sudo chmod -R 777 /var/lib/mysql
파일 소유자/소유자 그룹 변경
$ chown <사용자>:<사용자그룹> <파일>
$ sudo chown root:admin /var/lib/mysql
내가 해결한 방법
mac 에 /tmp/mysql.sock 를 /var/lib/mysql/mysql.sock 로 심볼릭 링크 시켜주고 tmp 안의 mysql.sock 삭제