Django 오류 / django.db.utils.OperationalError: (2002, "Can't connect to server on 'IP' (10061)")

이승현·2023년 11월 20일

Django

목록 보기
8/8
post-thumbnail

혜성과 같이 갑자기 나타난 DB 오류... 서버에 접근할 수 없다는 오류가 나타난다.
우분투 서버 PC를 재부팅한 이후 IP를 고정으로 설정해준 다음 Django로 실행하니 나타났다.

해당 코드는 mysql 서버에 접근할 수 없다는 의미로 다양하게 해석될 수 있는데 크게 두 가지에 해당한다.

1. mysql 서버가 작동하고 있지 않다.

  • mysql의 실행을 확인하는 방법은 service mysql status를 입력하는 것이다.

  • 작동중이 아니라면 service mysql restart를 입력해 재부팅하면 된다.

당연 작동중이었다. 웹에서 phpmyadmin으로 접근하니 무리없이 잘 들어가졌으니까...

2. 해당 포트가 열려있지 않다.

  • netstat -an | grep "LISTEN"을 입력하면 현재 접근 가능한 포트를 확인할 수 있다.
  • 포트를 열기 위해서 다음을 입력해주면 된다.
    sudo iptables -I INPUT 1 -p tcp --dport 3306 -j ACCEPT
    sudo iptables -I OUTPUT 1 -p tcp --dport 3306 -j ACCEPT

  • mysql에 해당되어 있는 포트는/etc/mysql/mysql.conf.d/mysqld.cnf를 통해 설정을 확인할 수 있다.

다양하게 확인도 해보고 재실행도 하고 했지만 원인을 찾이 못했다. 그런데...

......?????????

외부 접속이 되지 않았던건 bind-address가 주석처리 되지 않았던 이유였다.
어쩌면 가장 초보적인 실수지만 그래서 더 못본걸수도 있겠다... 우린 이걸 인재라고 해요

0개의 댓글