반응형

 

에러,,, 너란,,, 에러,,,,,

 

 

지금 오늘 완료를 한 거는 'mysql' 이라는 node.js모듈을 사용해서 mariadb를 연결하는 것을 완료를 했습니다!

 

그래서 무슨 에러가 났는데?라고 하면

               

          1. mysql에서 ER_ACCESS_DENIED_ERROR가 나온 상황

          2. mysql에서 connect ECONNREFUSED 127.0.0.1:3307가 나온 상황

 

1. 첫번째 에러 나온 상황

 

 문제를 해결 했는데 문제가 된 ((나의 경우에))는

https://supdev.tistory.com/46  이분의 블로그를 읽고 나도 모듈화를 해보자! 그럼 더 좀더 깔끔해보이겠지 라는 생각으로 참고를 해서 진행을 하였다. (createConnection부분만 참고 하였다. 그래서 에러가 난 걸까,,?부분 참고해서?)

 

처음에는 따로 ./config/config.js 에 module.exports로

module.exports=(()=>{

    return {

        connectionLimit :5,

        host : 'localhost',

        user : 'user',

        password:'패스워드',

        database: '데이터베이스',

        port : 3307

    }

})

이런 식으로 작성한 후 app.js에는 

var sql = require('mysql');



const config = require('./config/config')

var connection = mysql.createConnection({

    host : config.host,

    user : config.user,

    password : config.password,

    database : config.database,

    port : config.port

});

이렇게가 에러난 상황이다.

 

이 방법을 config를 이용해서 나타내지 않고,

var connection = mysql.createConnection({

    host : 'localhost',

    user : 'user_name',

    password : '나의 패스워드',

    database : '데이터베이스',

    port : 3307

});

 이렇게 다 적어 주니깐 에러는 해결이 되었다.

 

2. 두번째 에러가 나온 상황

 

하지만 저 에러가 나오지 않았다 하는 순간,,,! 또 다른 에러가 나왔다.

connect ECONNREFUSED 127.0.0.1:3307 ,,,, 마리아 디비로 해서 그런가 생활 코딩에서 댓글로 에러가 나는 사람들은 비밀번호를,,, 하라고 하던데 그 해결방법은 나의 해결 방법이 아니였다.

 

이 에러 메세지는

{ Error: connect ECONNREFUSED 127.0.0.1:3307

      at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1117:14)

      --------------------

      at Protocol._enqueue (C:\Users\almon\OneDrive\바탕 화면\bookingProject\node_modules\mysql\lib\protocol\Protocol.js:144:48)

      at Protocol.handshake (C:\Users\almon\OneDrive\바탕 화면\bookingProject\node_modules\mysql\lib\protocol\Protocol.js:51:23)

     at Connection.connect (C:\Users\almon\OneDrive\바탕 화면\bookingProject\node_modules\mysql\lib\Connection.js:118:18)

     at Object. (C:\Users\almon\OneDrive\바탕 화면\bookingProject\server\app.js:45:12)

     at Module._compile (internal/modules/cjs/loader.js:689:30)

     at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)

     at Module.load (internal/modules/cjs/loader.js:599:32)

      at tryModuleLoad (internal/modules/cjs/loader.js:538:12)

      at Function.Module._load (internal/modules/cjs/loader.js:530:3)

     at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)

     errno: 'ECONNREFUSED',

     code: 'ECONNREFUSED',

     syscall: 'connect',

     address: 'localhost',

      port: 3307,

     fatal: true }

 

라고 떳는데 TCP.... 문제인가? 하고 뭐지,,,, 라고 생각하고 프로토콜,,,, 네트워크 (ㅂㄷㅂㄷ)


이라고 생각하고 있던 와중에 처음에 mysql이 아닌 mariadb모듈로 사용할려고 해서 npm에서 사용방법을 봤었을때 config작성에서 port를 작성하지 않는 게 생각이 났다!

 

그래서 곧바로 port정보를 삭제를 했다. 

그러니깐 에러가 나오지 않았다!!!!!!!!!!!!!!!!

히히,,히히,,,

오늘!!할!!졸작 계획!!! 끝!!!!

 ■ 오늘 에러난거 포스팅 하기  (완료!)

 

==================================================================

 

학부생때는 몰랐는데 이제 다시 해당 포스트를 보니깐 어떤 문제인지 알아 냈다...

port 를 3306을 안쓰고 3307을 쓰니깐 해당 포트에 mysql가 없으니깐 연결거부가 일어난거다... 

 

+ Recent posts