환경 구축 오류
Table of Content
서버 실행에서 오류 발생
MySQL 서버 실행 시 다음과 같은 오류가 나타날 때가 있다.
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock'
또는 아래와 같은 내용이다.
/usr/local/Cellar/mysql@8.0/8.0.39_1/bin/mysqld_safe: line 199: /usr/local/var/mysql/Freds-MacBookPro.local.err: Permission denied
/usr/local/Cellar/mysql@8.0/8.0.39_1/bin/mysqld_safe: line 144: /usr/local/var/mysql/Freds-MacBookPro.local.err: Permission denied
ERROR! The server quit without updating PID file (/usr/local/var/mysql/Freds-MacBookPro.local.pid).
이 에러는 mysqld(mysql daemon) 프로세스가 서버를 실행한 후 pid 파일을 설치 경로에 생성하려는데 권한이 없는 경우 발생하는 오류이다.
검색을 통해서는 재설치, 또는 homebrew를 업데이트하면 해결된다는 스택오버플로우 의견도 있었다. 하지만 이것을 먼저 해보고 재설치하는 것을 추천한다. 재설치 시 기존 데이터베이스가 제거되기 때문이다.
아래 명령어를 통해서 mysql이 경로에 소유자 권한을 주어 읽기/쓰기 모두 가능하도록 설정한다.
sudo chown -R mysql:mysql /usr/local/var/mysql
TypeScript
복사
sudo chmod -R 777 /usr/local/var/mysql
TypeScript
복사
이후 서버를 재실행하면 정상적으로 실행 된다.
재설치한 경우
재설치 한 경우에 데이터베이스 뿐만 아니라 계정도 초기화 되었을 것이다.
우선 서버를 시작하고
mysql.server start
TypeScript
복사
또는 homebrew인 경우
brew services start mysql@8.0
TypeScript
복사
처음 설치한 경우 root계정의 비밀번호부터 설정해줘야 한다.
아래를 통해서 비밀번호 및 초기 설정을 진행
mysql_secure_installation
TypeScript
복사
이후 비밀번호로 mysql 콘솔로 들어간다
mysql -u root -p
TypeScript
복사
이후 원하는 계정을 생성(Mac은 사용자명으로 하면 터미널에서 접근이 편리하다.)
create user inyongkim@localhost identified by '1234';
TypeScript
복사
이후 모든 권한을 설정해준다.
grant all privileges on . to inyongkim@localhost;
TypeScript
복사
이후 권한 설정을 즉시 적용시킨다.
FLUSH PRIVILEGES;
TypeScript
복사
Related Posts
Search