오류 메시지 **"오류: 'localhost'(10061)에서 MySQL 서버에 연결할 수 없습니다."**는 클라이언트가 MySQL 서버에 연결할 수 없음을 의미합니다. 일반적인 이유는 다음과 같습니다.
1. **MySQL 서비스가 시작되지 않습니다**
- MySQL 서버가 시작되지 않을 수 있습니다. Windows에서는 서비스 관리자를 열고 'MySQL' 서비스를 찾아 수동으로 시작할 수 있습니다. Linux에서는 다음 명령을 사용하여 MySQL이 실행 중인지 확인할 수 있습니다.
``배쉬
sudo systemctl 상태 mysql # 우분투/데비안
sudo systemctl status mysqld # CentOS/Fedora
````
2. **잘못된 포트 번호**
- MySQL 서버는 기본적으로 **3306** 포트를 사용합니다. 구성 파일의 포트 번호가 변경된 경우 클라이언트가 연결하지 못할 수 있습니다.
- MySQL 구성 파일(예: `my.cnf` 또는 `my.ini`)에서 포트 번호 설정을 확인하여 클라이언트가 올바른 포트에 연결되어 있는지 확인할 수 있습니다.
3. **방화벽이 연결을 차단합니다**
- 로컬 방화벽이 MySQL 포트를 차단하고 있을 수 있습니다. 방화벽에 포트 3306을 차단하는 규칙이 활성화되어 있는 경우 일시적으로 방화벽을 비활성화하거나 포트를 열 수 있습니다. 다음 명령을 통해 Linux에서 포트 3306을 열 수 있습니다.
``배쉬
sudo ufw allowed 3306 # 우분투 방화벽 예
sudo Firewall-cmd --zone=public --add-port=3306/tcp --permanent # CentOS/Fedora
sudo Firewall-cmd --reload # 방화벽을 다시 로드합니다.
````
4. **바인딩 주소 구성 문제**
- MySQL 구성 파일에서 `bind-address` 설정은 원격 연결만 허용하거나 특정 IP 주소에만 바인딩할 수 있습니다. 로컬 연결을 허용하려면 구성 파일의 `bind-address`가 `127.0.0.1` 또는 `localhost`로 설정되어 있는지 확인하세요.
5. **소켓 파일이 없거나 경로가 올바르지 않습니다**
- 일부 시스템에서 MySQL은 연결을 위해 Unix 소켓 파일을 사용합니다. 구성 파일의 '소켓' 경로가 올바른지, 파일이 실제로 존재하는지 확인하세요. 기본적으로 이 파일은 일반적으로 `/var/run/mysqld/mysqld.sock` 또는 유사한 경로에 있습니다.
6. **사용자 권한 문제**
- 접속하는 사용자에게 해당 권한이 없는 경우 접속이 불가능할 수도 있습니다. 사용자 `localhost`에 대한 권한이 올바른지 확인하고 다음 명령을 사용하여 권한을 다시 부여해 볼 수 있습니다.
``sql
*.*에 대한 모든 권한을 'password'로 식별된 'username'@'localhost'에 부여합니다.
플러시 권한;
````
솔루션 아이디어 요약
MySQL 구성 및 서버 설정이 올바른지 확인하려면 MySQL 서비스 상태, 포트 설정, 방화벽 규칙, 바인딩 주소, 소켓 파일 및 사용자 권한을 확인하십시오.