수정 : ERROR 2003 (HY000) : '127.0.0.1'에서 MySQL 서버에 연결할 수 없습니다 (111).


이 자습서는 MySQL 데이터베이스 서버에 액세스하려고 할 때 발생할 수있는 \"ERROR 2003 (HY000) :‘127.0.0.1’(111)에서 MySQL 서버에 연결할 수 없습니다.\"를 해결하는 데 필요한 단계를 설명하기위한 것입니다.

더 나아 가기 전에 MySQL/MariaDB를 처음 사용하는 Linux 사용자 인 경우 초보자를위한 MySQL/MariaDB – Part 1 및 Linux에서 데이터베이스 관리를위한 MySQL (Mysqladmin) 명령 20 개를 배우는 것도 고려할 수 있습니다.

반면에 이미 중급/경험이있는 MySQL 사용자 인 경우 다음 15 가지 유용한 MySQL/MariaDB 성능 조정 및 최적화 팁을 마스터 할 수 있습니다.

참고 :이 자습서에서는 이미 mysql 데이터베이스 서버를 설치했다고 가정합니다.

다시 초점을 맞추면이 오류의 가능한 원인은 무엇입니까?

  1. Network failure especially if mysql database server is running on remote host.
  2. No mysql server is running on the mentioned host.
  3. Firewall blocking TCP-IP connection or other related reasons.

다음은이를 처리하기위한 필수 단계입니다.

1. 데이터베이스 서버가 원격 시스템에있는 경우 ping 명령을 사용하여 클라이언트-서버 연결을 테스트 해보십시오. 예를 들면 다음과 같습니다.

$ ping server_ip_address

연결되면 아래의 ps 명령을 사용하여 pipe 및 grep 명령과 함께 선택한 활성 프로세스에 대한 정보를 표시하여 mysql 데몬이 시스템에서 실행 중입니다.

$ ps -Af | grep mysqld

옵션 :

  1. -A – activates selection of all processes
  2. -f – enables full format listing

이전 명령의 출력이 없으면 다음과 같이 mysql 서비스를 시작합니다.

$ sudo systemctl start mysql.service
$ sudo systemctl start mariadb.service
OR
# sudo /etc/init.d/mysqld start

mysql 서비스를 시작한 후 데이터베이스 서버에 액세스하십시오.

$ mysql -u username -p -h host_address  

2. 여전히 동일한 오류가 발생하면 netstat 명령을 실행하여 mysql 데몬이 수신하는 포트 (기본값은 3306)를 확인합니다.

$ netstat -lnp | grep mysql

옵션 :

  1. -l – displays listening ports
  2. -n – enables display of numerical addresses
  3. -p – shows PID and name of the program owning the socket

따라서 -P 옵션을 사용하여 데이터베이스 서버에 액세스하는 동안 위의 출력에서 볼 수있는 포트를 지정하십시오.

$ mysql -u username -p -h host_address -P port

3. 위의 모든 명령이 성공적으로 실행되었지만 여전히 오류가 표시되면 mysql 구성 파일을 엽니 다.

$ vi /etc/mysql/my.cnf
OR
$ vi /etc/mysql/mysql.conf.d/mysqld.cnf 

아래 줄을 찾아 # 문자를 사용하여 주석 처리하십시오.

bind-address = 127.0.0.1 

파일을 저장하고 종료 한 후 다음과 같이 mysql 서비스를 다시 시작합니다.

$ sudo systemctl start mysql.service
$ sudo systemctl start mariadb.service
OR
# sudo /etc/init.d/mysqld start

그러나 firewallD 또는 Iptables가 실행중인 경우 방화벽이 mysql 서버에 대한 TCP-IP 연결을 차단하는 방화벽이라고 가정하고 방화벽 서비스를 검토하고 mysql 포트를 엽니 다.

그게 다야! "다른 방법을 알고 있거나 위의 MySQL 연결 오류를 해결하기위한 제안이 있습니까? 아래 피드백 양식을 통해 의견을 남겨 주시기 바랍니다.