수정: 오류 2003(HY000): '127.0.0.1'(111)에서 MySQL 서버에 연결할 수 없습니다.
이 튜토리얼은 "ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (111) "을 해결하기 위해 필요한 단계를 설명하기 위해 작성되었습니다. MySQL 데이터베이스 서버에 액세스합니다.
더 나아가기 전에, MySQL/MariaDB를 처음 사용하는 Linux 사용자라면 다음 페이지에서 초보자를 위한 MySQL/MariaDB – 1부 및 20개의 데이터베이스 관리용 MySQL(Mysqladmin) 명령을 배우는 것이 좋습니다. 리눅스도요.
반면, 이미 중급/숙련 MySQL 사용자라면 이 15가지 유용한 MySQL/MariaDB 성능 조정 및 최적화 팁을 마스터할 수 있습니다.
참고: 이 튜토리얼에서는 mysql 데이터베이스 서버를 이미 설치했다고 가정합니다.
다시 본론으로 돌아가면, 이 오류의 가능한 원인은 무엇입니까?
- 특히 mysql 데이터베이스 서버가 원격 호스트에서 실행 중인 경우 네트워크 오류가 발생합니다.
- 언급된 호스트에서 mysql 서버가 실행되고 있지 않습니다.
- 방화벽이 TCP-IP 연결을 차단하거나 기타 관련 이유로 인해 차단됩니다.
다음은 이를 처리하기 위한 필수 단계입니다.
1. 데이터베이스 서버가 원격 시스템에 있는 경우 ping
명령을 사용하여 클라이언트-서버 연결을 테스트해 보십시오. 예를 들면 다음과 같습니다.
ping server_ip_address
연결되면 활성 프로세스 선택에 대한 정보를 표시하는 아래의 ps
명령을 pipe
및 grep 명령과 함께 사용하여 mysql 데몬이 연결되어 있는지 확인합니다. 귀하의 시스템에서 실행 중입니다.
ps -Af | grep mysqld
여기서 옵션은 다음과 같습니다.
-A
– 모든 프로세스 선택을 활성화합니다.-f
– 전체 형식 목록을 활성화합니다.
이전 명령의 출력이 없으면 다음과 같이 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
여기서 옵션은 다음과 같습니다.
-l
– 청취 포트를 표시합니다.-n
– 숫자 주소 표시를 활성화합니다.-p
– 소켓을 소유한 프로그램의 PID와 이름을 표시합니다.
따라서 -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 연결 오류를 해결하기 위한 다른 방법을 알고 있거나 제안 사항이 있습니까? 아래 피드백 양식을 통해 의견을 남겨주세요.