Programming/Errors

[Mysql, Node.js] M1 맥북 Mysql Node.js 연동 오류 ECONNREFUSED 오류

Brian Go 2022. 6. 10. 14:18

 

DB를 가지는 웹사이트를 구현 중 Node.js를 이용해서 서버를 구현하고 거기에 sql을 연결하려 했는데, 자꾸 아래와 같은 오류가 떴다.

errno: -61,
  code: 'ECONNREFUSED',
  syscall: 'connect',
  address: '::1',
  port: 3306,
  fatal: true
 

구글링을 엄청 했는데도 명확한 답을 찾지 못한 채로 2022년의 첫날을 보내다가.. 답을 찾았다!

 

내 노트북에서 Mysql이 TCP가 아닌 소켓을 listen 하고 있다는 뜻 같은데,

mysql_config --socket
 

이 코드를 실행해보면 mysql.socket 파일의 경로가 나온다. 그러면 이걸 복사해서

var connection = mysql.createConnection({
  host     : 'localhost',
  user     : 'root',
  password : '',
  database : '',
  socketPath : '/tmp/mysql.sock'
});
 

이런 식으로 connection을 정의할 때 socketPath 를 같이 넣어주면 된다.