Error connect pool mysql



  • Hôm qua mình đang code và chạy thử thì server khi connect mysql nó báo lỗi như thế này :
    { Error: connect ECONNREFUSED 127.0.0.1:3306
    at Object.exports._errnoException (util.js:953:11)
    at exports._exceptionWithHostPort (util.js:976:20)
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1080:14)
    --------------------
    at Protocol._enqueue (C:\Users\achun\Desktop\myweb\node_modules\mysql\lib\protocol\Protocol.js:141:48)
    at Protocol.handshake (C:\Users\achun\Desktop\myweb\node_modules\mysql\lib\protocol\Protocol.js:52:41)
    at PoolConnection.connect (C:\Users\achun\Desktop\myweb\node_modules\mysql\lib\Connection.js:135:18)
    at Pool.getConnection (C:\Users\achun\Desktop\myweb\node_modules\mysql\lib\Pool.js:48:16)
    at Object.module.exports.query (C:\Users\achun\Desktop\myweb\src_file\module\mysqlpool.js:11:8)
    at Object.module.exports.checklog (C:\Users\achun\Desktop\myweb\src_file\module\login.js:5:10)
    at Socket.<anonymous> (C:\Users\achun\Desktop\myweb\src_file\module\socket_io.js:11:19)
    at emitTwo (events.js:106:13)
    at Socket.emit (events.js:191:7)
    at Socket.onevent (C:\Users\achun\Desktop\myweb\node_modules\socket.io\lib\socket.js:335:8)
    code: 'ECONNREFUSED',
    errno: 'ECONNREFUSED',
    syscall: 'connect',
    address: '127.0.0.1',
    port: 3306,
    fatal: true }
    Mong các ae giúp đỡ


  • Global Moderator

    @achung0147 off firewall vs selinux đi bạn



  • @achung0147 đã nói trong Error connect pool mysql:

    Hôm qua mình đang code và chạy thử thì server khi connect mysql nó báo lỗi như thế này :
    { Error: connect ECONNREFUSED 127.0.0.1:3306
    at Object.exports._errnoException (util.js:953:11)
    at exports._exceptionWithHostPort (util.js:976:20)
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1080:14)
    --------------------
    at Protocol._enqueue (C:\Users\achun\Desktop\myweb\node_modules\mysql\lib\protocol\Protocol.js:141:48)
    at Protocol.handshake (C:\Users\achun\Desktop\myweb\node_modules\mysql\lib\protocol\Protocol.js:52:41)
    at PoolConnection.connect (C:\Users\achun\Desktop\myweb\node_modules\mysql\lib\Connection.js:135:18)
    at Pool.getConnection (C:\Users\achun\Desktop\myweb\node_modules\mysql\lib\Pool.js:48:16)
    at Object.module.exports.query (C:\Users\achun\Desktop\myweb\src_file\module\mysqlpool.js:11:8)
    at Object.module.exports.checklog (C:\Users\achun\Desktop\myweb\src_file\module\login.js:5:10)
    at Socket.<anonymous> (C:\Users\achun\Desktop\myweb\src_file\module\socket_io.js:11:19)
    at emitTwo (events.js:106:13)
    at Socket.emit (events.js:191:7)
    at Socket.onevent (C:\Users\achun\Desktop\myweb\node_modules\socket.io\lib\socket.js:335:8)
    code: 'ECONNREFUSED',
    errno: 'ECONNREFUSED',
    syscall: 'connect',
    address: '127.0.0.1',
    port: 3306,
    fatal: true }
    Mong các ae giúp đỡ

    Ī



  • Lỗi này có thể do nhiều nguyên nhân. Nhưng nguyên nhân cốt lỗi thường là:

    • MySQL server không nghe kết nối trên cổng 3306.
      MySQL có thể nghe kết nối qua unix socket hoặc bất kì một cổng nào khác tùy thuộc vào cài đặt. Trường hợp MySQL server nghe kết nối qua unix socket, bạn có thể sử dụng thuộc tính socketPath thay cho thuộc tính hostport của module node mysql để kết nối đến server. Đường dẫn tới file socket trên Linux thường là /var/run/mysqld/mysqld.sock. Trường hợp MySQL server đang nghe kết nối trên một cổng khác, bạn chỉ cần đổi sang cổng đó là được.

    • Đã tồn tại kết nối tới MySQL server ở cổng 3306.
      Lỗi này thường do copy gây lặp code dẫn đến việc MySQL server từ chối kết nối đã tồn tại. Để sửa lỗi này, bạn cần tiến hành rà soát lại và loại bỏ đoạn code gây ra lặp kết nối.

    • Firewall chặn kết nối tới cổng 3306.
      Trường hợp này hiếm khi xảy ra do cổng 3306 là cổng mặc định của MySQL server, một database server rất nổi tiếng trên thế giới. Do đó không có firewall của OS nào chặn cổng này ở chế độ mặc định. Vấn đề này thường chỉ xảy ra do lỗi chủ quan từ phía developer, chỉnh sửa firewall khác với mặc định. Và hiển nhiên, để sửa lỗi này, bạn cần chỉnh sửa lại quy tắc lọc của firewall để cho phép cổng này hoạt động.

    Mong bài viết này giúp ích được cho bạn.


Log in to reply