일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- 안드로이드 유닛테스트란
- 스택 큐 차이
- 안드로이드 os 구조
- 안드로이드 레트로핏 사용법
- 서비스 쓰레드 차이
- 안드로이드 레트로핏 crud
- 안드로이드 라이선스
- 안드로이드 유닛 테스트 예시
- rxjava cold observable
- ar vr 차이
- 객체
- Rxjava Observable
- 안드로이드 라이선스 종류
- 클래스
- 멤버변수
- 서비스 vs 쓰레드
- 안드로이드 유닛 테스트
- 큐 자바 코드
- 자바 다형성
- 스택 자바 코드
- jvm이란
- 2022 플러터 설치
- jvm 작동 원리
- android retrofit login
- rxjava hot observable
- 플러터 설치 2022
- android ar 개발
- 2022 플러터 안드로이드 스튜디오
- rxjava disposable
- ANR이란
- 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을 연동해 앱을 만들다 기능 테스트 도중 갑자기 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 |