본문 바로가기

컴퓨터 마스터되기

mariadb 데이터 베이스 오류 (error 2002 (hy000): can't connect to local mysql server through socket '/var/run/mysqld/mysqld.sock' (111 "connection refused"))

본 글은 우분투 18.04 LTS , 아파치, php, mariadb 로 구성되어 있는 시스템에서 발생한 문제 해결을 다루고 있습니다. 

 

1. Error 2002 원인

 사실 원인이 정말 많아서 뭐라 단정집기는 어렵지만 그래도 하나씩 해결방법을 찾아가 봅시다.

 먼저 111에러 저렇게 나타나는 경우는 phpmyadmin으로 로그인할때나 혹은 sudo 계정으로 mariadb 혹은 mysql을 실행 할때 경고메시지와 함께 발생되어집니다. 

그럼 저런 문제가 발생했을떄 어떻게 할지 알아봅시다.

1) 방화벽 차단에 의한 경우

 일단 터미널에서

$ sudo nmap localhost 

위의 명령어를 사용하여 3306 포트가 열려있는지 확인합니다. 

주로 우분투 사용시에 iptables 혹은 ufw 방화벽에 의해 차단이 되게 됩니다. 

termianl

위와 같이 3306/tcp라고 나와야 정상입니다. 

nmap 명령어 실행이 안될경우

$ sudo apt-get install namp

명령어를 통해 설치합니다.

그럼 방화벽을 오픈해 봅시다. 

iptables 경우

# 3306 포트를 들어오는 ACCEPT 규칙을 추가

$ sudo iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

# 3306 포트를 나가는 ACCEPT 규칙을 추가

$ sudo iptables -I OUTPUT -p tcp --dport 3306 -j ACCEPT

 

2)  mariadb 에러로그 확인을 통해 확인해봅시다.

에러 로그 확인은 다음의 명령어로 하시면 됩니다.

$ sudo vim /var/log/mysql/error.log

저는 여기에서 해결됬습니다. 무려 3일동안 고생하다가 결국 찾았는데요..

위의 mysqld.sock 파일이라는 것이 mariadb가 실행될 때 생성되었다가  종료되면 같이 삭제되는 파일이라고 하더라고...

암튼... 저의 경우는 메모리 부족이 원인이라고 나오네요...

 

error

그럼 메모리를 늘려봅시다.

$ sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf

위의 명렬어를 치고 대충 캐시 리미트랑 버퍼사이즈를 최소 20m 이상으로 설정합시다.

메모리 누수가 원인인지 어쩐지.. 어쨌든.. 메모리가 부족해서 저 파일이 생성이 안된다고 하니까 만들게 해줘야줘..뭐...

(저같은 경우는 여기에서 해결되었습니다.... 무려 3일걸렸다는...)

 

3) mysqld.sock 파일 링크걸기

 다른분 블로그를 보다가 찾은 내용인데.. 저 파일이 없으면 문제가 생긴것이니 찾아서 링크를 걸어주면 된다고 합니다.

$ sudo find / -name mysqld.sock

위의 명령어로 디렉토리를 찾아주고 

$ sudo ln -s /찾은 디렉토리/mysqld.sock /var/run/mysqld/mysqld.sock

위와 같은 방식으로 링크를 걸어주면 된다고 하는데 전 안해봐서 자세하겐 말씀 드리기가 힘드네요..

 

4) 위의 디렉토리에 권한이 없을경우 혹은 파일이 없을떄.

자 만들어 줍시다.

$ sudo touch /var/run/mysqld/mysqld.sock

파일을 만들었고 권한을 줍시다.

$ sudo chown mysql:mysql /var/run/mysqld/mysqld.sock

그리고 777 (최고권한) 755(읽기 쓰기만 가능) 권한도 줘버립시다.  이건 상황에 맞게 755나 777 알아주 주세요~

$ sudo chmod 777 /var/run/mysqld/mysqld.sock

 

이렇게 해서 해결해 봅시다.

3일동안 고생한거.. 다른분들은 하지 말라는 의미로... 포스팅 해봅니다.

 

'컴퓨터 마스터되기' 카테고리의 다른 글

파이썬(Python) 설치방법  (0) 2020.10.27