Node.js MySQL: 연결 시 "ECONNREFUSED" 오류 해결
Node.js를 통해 MySQL 서버에 연결을 시도할 때, "ECONNREFUSED" 오류가 발생하면 당황스러울 수 있습니다. 특히 동일한 시스템에 있는 PHP/Apache 서버가 오류 없이 작동하는 경우 더욱 그렇습니다.
이 오류의 원인을 조사하고 성공적인 솔루션을 제공하겠습니다.
도전
제공된 코드 스니펫에서, MySQL 호스트는 'localhost'로 정의되고, 머신의 MySQL 서버는 Unix 소켓을 수신합니다. 표준 TCP 포트가 아닌 '/var/run/mysqld/mysqld.sock'. 이러한 불일치로 인해 Node.js 애플리케이션이 TCP를 사용하여 연결을 시도할 때 "ECONNREFUSED" 오류가 발생합니다.
해결책
이 문제를 해결하려면 수정해야 합니다. TCP 포트 대신 Unix 소켓 경로를 지정하는 연결 옵션입니다. 연결 옵션에 다음 행을 추가하면 됩니다.
port: '/var/run/mysqld/mysqld.sock'
업데이트된 코드
var mysql_link = { host: 'localhost', port: '/var/run/mysqld/mysqld.sock', // Modified to specify Unix socket path. database: 'nodetest', user: 'root', password: 'xxx' };
결론
올바른 연결 옵션을 지정함으로써 Node.js 애플리케이션이 성공적으로 연결되도록 할 수 있습니다. MySQL 서버를 복구하고 원활하게 운영을 계속합니다. 앞으로 이러한 오류가 발생하지 않도록 하려면 MySQL 서버의 구성을 확인하고 적절한 연결 매개변수를 사용하는 것이 중요합니다.
위 내용은 Node.js MySQL ECONNREFUSED 오류: Unix 소켓을 사용하여 연결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!