일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 안드로이드 os 구조
- 서비스 쓰레드 차이
- 클래스
- 서비스 vs 쓰레드
- 안드로이드 라이선스 종류
- 객체
- 안드로이드 레트로핏 사용법
- 2022 플러터 안드로이드 스튜디오
- 안드로이드 유닛테스트란
- ar vr 차이
- android retrofit login
- 안드로이드 유닛 테스트 예시
- rxjava cold observable
- 안드로이드 유닛 테스트
- 2022 플러터 설치
- 스택 자바 코드
- 큐 자바 코드
- ANR이란
- 자바 다형성
- Rxjava Observable
- 안드로이드 레트로핏 crud
- rxjava hot observable
- 멤버변수
- rxjava disposable
- android ar 개발
- jvm이란
- jvm 작동 원리
- 스택 큐 차이
- 안드로이드 라이선스
- 플러터 설치 2022
- Today
- Total
나만을 위한 블로그
[PHP] CentOS 7 터미널에서 MySQL 접속 시 에러 - can't connect to local mysql server through socket '/var/lib/mysql/mysql.sock' (111) 해결 본문
[PHP] CentOS 7 터미널에서 MySQL 접속 시 에러 - can't connect to local mysql server through socket '/var/lib/mysql/mysql.sock' (111) 해결
참깨빵위에참깨빵_ 2020. 1. 18. 18:59참고한 사이트 : http://blog.freezner.com/archives/480
[MySQL] ‘/var/lib/mysql/mysql.sock’ (111) 에러 해결방법
보통 이 문제가 발생하는 경우는 mysql 을 패키지(RPM)으로 설치하는 케이스입니다. 설치하고 실행하는데 문제가 없어보입니다. 하지만 재부팅이나 재시작시 mysql이 동작되지 않고 아래 에러 메세지를 토해냅니다. Another MySQL daemon already running with the same unix socket. 그리고 mysql로 접…
blog.freezner.com
안드로이드와 MySQL을 연동해 앱을 만들다 기능 테스트 도중 갑자기 MySQL이 먹통이 됐다.
자세히 말하면, mysql -uroot -p 입력 후 비밀번호를 쳤더니 아래와 같은 에러 메시지가 뜨면서 MySQL에 들어갈 수가 없는 에러가 발생했다.
can't connect to local mysql server through socket '/var/lib/mysql/mysql.sock' (111)
??? 갑자기???
많이 당황했지만 침착해지려 노력하며 애써 에러 메시지를 분석했다.
/var/lib/mysql 경로에 있는 mysql.sock 소켓을 통해 MySQL 서버에 접속할 수 없다....에러 번호는 111....
아무튼 mysql.sock 파일에 문제가 생긴 것으로 알고 센토스 파일 탐색기를 통해 저 경로로 들어가서 확인해봤다.
파일 내용은 아무것도 없었다. 원래 없었나? vi로 확인해도 똑같이 텅 빈 파일이었다.
어떻게 하면 좋을지 몰라서 일단 저 에러 메시지를 통째로 구글 검색창에 쳐봤다.
그러자 다행히도 나와 같은 CentOS 7에서 이런 에러 메시지 대책을 설명한 글을 찾았다.
보통 이 문제는 RPM으로 MySQL을 설치한 경우 생기는 에러라고 한다.
그리고 mysql.sock은 rm 명령어로 삭제해도 다시 생기는 파일이라고 한다. 그래서 이 명령어를 쳐서 해결하는 건 근본적인 해결책이 되지 못한다.
# rm -rf /var/lib/mysql/mysql.sock
나도 MySQL을 root 계정으로 설치했고, 그래서 mysql.sock의 소유권이 나한테 없다. 그럼 이렇게 하면 된다.
chmod와 chown 명령어를 이용해 권한을 바꿔주면 해결된다.
# service mysqld stop
# chmod 755 -R /var/lib/mysql
# chown mysql:mysql -R /var/lib/mysql
# service mysqld start
먼저 mysqld 데몬을 중단시킨 뒤 권한, 소유를 mysql로 바꾸고 다시 mysqld 데몬을 시작하는 법이다.
stop, start 명령어를 쳤을 때 난 이런 문장이 나왔었다.
Redirecting to /bin/systemctl stop mysqld.service
Redirecting to /bin/systemctl start mysqld.service
무시하고 똑같이 진행했다. 전부 입력 후 전처럼 똑같이 mysql -uroot -p를 쳐서 MySQL로 접속을 시도했다.
그러자 된다. show databases;로 DB를 확인해도 내가 만들어뒀던 DB들이 모두 나오는 걸 확인했다.
테이블도 모두 있고, 다른 명령어들도 전부 정상 입력되는 걸 확인했다.
이걸로 에러 수정 끝.
'PHP' 카테고리의 다른 글
[PHP] mysqli::__construct(): The server requested authentication method unknown to the client [caching_sha2_password] 에러 해결 (0) | 2020.01.23 |
---|---|
[PHP] CentOS 7에 아톰 설치 후 파일 편집 시 Permission Denied 에러 해결 (0) | 2020.01.22 |
[PHP] Fatal error: Uncaught Error: Call to undefined function mb_substr() 해결 시도 (0) | 2020.01.15 |
[PHP] 아톰 주석 색깔 변경 (0) | 2020.01.15 |
[PHP] PHP에서 INSERT문 사용 시 에러 해결(글 조회수) (0) | 2020.01.12 |