programing

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

goodsources 2022. 10. 30. 11:13
반응형

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

다음 명령을 사용합니다.

mysql -u root -h 127.0.0.1 -p

오류 메시지는 다음과 같습니다.

ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (111)

어떻게 하면 고칠 수 있죠?

Ubuntu를 사용하는 경우 이 오류를 방지하려면 다음 단계를 수행해야 합니다(복제가 활성화되지 않은 경우).

  1. vim /etc/mysql/my.cnf
  2. ★★bind-address = 127.0.0.1 #
  3. MySQL 서버를 한 번 재시작합니다.

1에서 1을 찾을 수 bind-address my.cnf 에서 ./etc/mysql/mysql.conf.d/mysqld.cnffilename을 클릭합니다.

MySQL 복제를 사용하도록 설정한 경우 업데이트

MySQL 서버가 localhost 또는 127.0.0.1이 아닌 my.cnf 파일에 바인딩되어 있는 IP 주소로 MySQL 서버를 연결해 보십시오.

127.0.0.1 대신 localhost를 사용하여 연결하거나connection-configDebian 6.0(Squeeze) 서버에서 동작했습니다.

이것은, 데이타베이스에 접속하기 전에 개시하는 것을 잊은 경우에 발생합니다.

mysql.server start

그리고나서

mysql -u root -p -h 127.0.0.1

제 경우(리모트 접속)에서는, 서버의 파이어 월(fire wall)을 오프하는데 도움이 되었습니다.

service iptables stop

Windows 에서는, MySQL 서버가 인스톨 되어 동작하고 있지 않기 때문에, 이 문제가 발생할 가능성이 있습니다.

이를 수행하려면 관리자 권한으로 명령어프롬프트를 시작하고 다음 명령을 입력합니다.

"C:\Program Files (x86)\MySQL\MySQL Server 5.1\bin\mysqld" --install

"service successfully installed" 메시지가 표시되면 MySQL 서비스를 시작해야 합니다.이를 수행하려면 서비스 창(작업 관리자 → 서비스개방형 서비스)으로 이동합니다.MySQL을 검색하여 상단 탐색바에서 시작합니다.그 후 mysql.exe를 열려고 하면 동작합니다.

, 여기 보세요.my.cnf 、 [ ], [ ], [ ], [ ], [ ], [ ], [ ], [ ], [ ], [ ], [ ], [ ], [ ]가 포함되어 있는 경우[client]및 " " " " 입니다.port 포트 3306)으로, 인 파라미터 「」( 「3306)」( 「3306)」( 「3306)」, 「」( 「3306)」)로 가 있습니다.-P 3306

mysql -u root -h 127.0.0.1 -p -P 3306

동일한 오류 메시지가 표시되고 도커를 사용하는 경우 데이터베이스 서비스 이름을 호스트로 사용해 보십시오.

services:
  app:
    blablabla
  db:
    blablabla

내 말은, 대신...

127.0.0.1 or localhost

용도:

db

위의 모든 것을 시도해 보았는데도 동작하지 않는 경우.방화벽을 확인합니다.

Windows 머신에서 CentOs7이 설치된 VirtualBox 머신에 설치된 MySql Server 5.7.32에 연결하려고 했습니다.MySql Server에 접속할 수 없는 머신을 ping 할 수 있었지만, 모든 것을 시도했지만 동작하지 않았습니다.

CentOs7에서는 방화벽을 체크하는 명령어는 다음과 같습니다.

순서 1: 방화벽 서비스 상태를 확인합니다.

systemctl status firewallid.service

순서 2: 방화벽 서비스를 비활성화합니다.

systemctl stop firewallid.service

MySQL 구성 파일(my.ini 또는 my.cnf)에서 bind-address 파라미터를 127.0.0.1로 변경하거나 정의된 파라미터를 사용해야 합니다.

그래도 작동하지 않으면 MySQL 서비스가 실제로 실행 중인지 확인해야 합니다.

하고 있는 는, 「」를 사용해 .--port=<port num>(「」)--skip-networkingnot enabled.

나도 같은 문제에 직면해 있었다.

다음은 문제를 해결하는 데 도움이 되었습니다.

제어판관리 도구서비스이동합니다.이 안에는 MySQL 서비스(우클릭 후 시작(force start))가 분명히 표시됩니다.

그냥 문제가 좀 있어서...Windows 7 및 WAMP 서버에서 실행되고 있습니다.

안티바이러스 방화벽이 문제의 원인임을 알게 되었습니다.

도커 사용자의 경우 - 를 사용하여 로컬 SQL 데이터베이스 서버에 연결하려고 할 mysql -u root -h 127.0.0.1 -p데이터베이스가 Docker 컨테이너에서 실행되고 있는 경우 MySQL 서비스가 가동되고 있는지 확인합니다(확인:docker ps아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아.컨테이너가 다운되면 연결 오류가 발생합니다.

는, IP 주소를 「로하는 것입니다./etc/hosts다음 중 하나:

127.0.0.1 db.local

그리고 그것을 실행한다.mysql -u root -h db.local -p.

포트 3306이 열려 있는지 확인합니다(자세한 내용은 이쪽).

nmap -p3306 127.0.0.1

다음과 같은 메시지가 수신된 경우:

Starting Nmap 7.92 ( https://nmap.org ) at 2022-01-07 11:55 CET
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000082s latency).

PORT     STATE  SERVICE
3306/tcp closed mysql

Nmap done: 1 IP address (1 host up) scanned in 0.08 seconds

다음으로 포트 3306을 엽니다.

sudo iptables -A INPUT -i eth0 -p tcp -m tcp --dport 3306 -j ACCEPT

★★★sudo ufw allow 3306UFW를 사용하는 경우.

인::netstat -lnp | grep mysql을 사용하다

cp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      2048/mysqld
tcp6       0      0 :::33060                :::*                    LISTEN      2048/mysqld
unix  2      [ ACC ]     STREAM     LISTENING     514961   2048/mysqld          /var/run/mysqld/mysqld.sock
unix  2      [ ACC ]     STREAM     LISTENING     514987   2048/mysqld          /var/run/mysqld/mysqlx.sock

Docker 컨테이너에 있는 MySQL 서버에 연결하려고 할 때 이 문제가 발생했습니다.

아래의 순서로 수정했습니다.

  1. 컨테이너 내부로 이동합니다.
docker exec -it mysql bash
  1. 다음 명령을 실행합니다.
echo "bind-address           = 0.0.0.0" >> /etc/mysql/conf.d/mysql.cnf 
  1. 컨테이너에서 출구
exit
  1. 컨테이너를 재시작합니다.
docker restart mysql
  1. 컨테이너 내부로 이동
docker exec -it mysql bash
  1. MySQL 서버에 연결하고 암호를 입력합니다.
mysql -u root -p

비밀번호에 '@' 문자가 포함되어 있지 않은지 확인하십시오.예를 들어 비밀번호가 Jane@123인 경우 다음 오류가 표시됩니다.

sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (2003, "Can't connect to MySQL server on '123@localhost' ([Errno -2] Name or service not known)")

를 실행하고 있는 Ubuntu Linux)하려면 , WSL Subsystem for Linux)등의 머신의 .192.X.X.X 아니라, 이에요.127.0.0.1 ★★★★★★★★★★★★★★★★★」localhost.

$ mysql -u <user> -h 127.0.0.1 -p -P 3306

ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1:3306' (111)
$ mysql -u <user> -h 192.X.X.X -p -P 3306

Welcome to the MySQL monitor...Server version: 8.0.26 MySQL Community Server - GPL
Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

하려면 , IPv4 의 URL 에 .Settings->Network $ Internet->Properties->IPv4 address.

설정 시 하였습니다.apache airflow같이요.

mysql+mysqlconnector://<user>:<password>@localhost:3306/<database>

(mysql.connector.errors.DatabaseError) 2003 (HY000): Can't connect to MySQL server on 'localhost:3306' (111)

또는

mysql+mysqlconnector://<user>:<password>@127.0.0.1:3306/<database>

(mysql.connector.errors.DatabaseError) 2003 (HY000): Can't connect to MySQL server on '127.0.0.1:3306' (111)

URI 의 설정 에러를 다음과 같이 수정.

mysql+mysqlconnector://<user>:<password>@192.X.X.X:3306/<database>

저 같은 경우에는Centos 8그리고.MYSQL 8.0.26방화벽에서 포트를 열어 수정했습니다.[3306]이 MySQL 포트이고 [public]가 활성화존(기본 설정)인 경우 다음 명령을 실행할 수 있습니다.

firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

그리고 제가 찾아봤는데bind-address=127.0.0.1다만, 설정내의 어느 장소에서도 설정을 실시하지 않았습니다./etc/my.cnf /etc/my.cnf.d/*

이 문제는 데이터베이스의 스토리지 용량이 부족할 때 AWS에서 RDS에 연결할 때 발생합니다.이 문제를 해결하려면 사용 가능한 스토리지 용량을 늘려야 합니다.

재인스톨시에 인스톨 디렉토리를 변경해, 정상적으로 동작했습니다.

방금 MySQL 서버를 재부팅했는데 문제가 해결되었습니다.

Windows 에서는,net stop MySQL,그리고 나서.net start MySQl.

Ubuntu(Linux): sudo service start mysql

MySQL 서버가 localhost에서 실행 중인지 확인하십시오.

Linux의 경우

MySQL 서버가 실행 중인지 확인하려면:

sudo service mysql status

MySQL 서버를 실행하려면:

sudo service mysql start

Windows 의 경우

MySQL 서버가 실행 중인지 확인하려면:

net start

MySQL이 목록에 없는 경우 MySQL을 시작/실행해야 합니다.

MySQL 서버를 실행하려면:

net start mysql

언급URL : https://stackoverflow.com/questions/1673530/error-2003-hy000-cant-connect-to-mysql-server-on-127-0-0-1-111

반응형