MySQL [Warning] [MY-010055] [Server] IP address could not be resolved: Name or service not known

snooby·2022년 8월 9일
1

🔫 자잘부리 cs 팁

목록 보기
15/42
post-thumbnail


MySQL 사용 중 log에 다음과 같은 경고가 찍히는 경우가 있다.

이유

외부에서 mysql server에 connection 요청을 하게 되면, mysql server는 DNS를 통해 해당 host가 무엇인지 확인합니다.
그리고 그 해당 host에 대한 정보를 다시 사용하거나 관리하기 위해performance_schema.host_cache 에 저장합니다.
만약 DNS에 문제가 생기게 되면, host를 확인하는 과정때문에 접속시간이 오래 걸릴 뿐만아니라 connection들이 계속 쌓여서 문제가 발생할 수 있고 결국엔 mysql 데몬이 죽을 수도 있습니다.

해결

해당 서버로 접속하는 서버들을 /etc/hosts에 등록하여 DNS를 거치지 않게 하거나, 다음과 같이 my.cnf [mysqld] 섹션에 skip-name-resolve를 추가하기.

  1. my.cnf 수정하기
# sudo vi /etc/my.cnf

[mysqld]
skip-external-locking
skip-host-cache
skip-locking
skip-name-resolve
추가하기

  1. MySQL 재구동
sudo /usr/local/mysql/support-files/mysql.server restart
  1. 확인하기
# SQL 접속
mysql> show global variables like 'skip_name_resolve';
+-------------------+-------+
| Variable_name     | Value |
+-------------------+-------+
| skip_name_resolve | ON    |
+-------------------+-------+
profile
DevOps 🐥

0개의 댓글