Search code examples
node.jsnode-mysql

node mysql is not working offline


I have an application that works under node.js server, my problem is that node mysql works fine when there is internet, but it does not work offline.

Code for mysql:

var mysql = require('mysql');
var connection = mysql.createConnection({
    host: 'localhost',
    user: 'root',
    password: 'password',
    database: 'database'
});
connection.connect();

And the error is:

Error: getaddrinfo ENOENT localhost:3306
at Object.exports._errnoException (util.js:870:11)
at errnoException (dns.js:31:15)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:77:26)
--------------------
at Protocol._enqueue (C:\Users\sam\workspace\autocar\node_modules\mysql\lib\protocol\Protocol.js:141:48)
at Protocol.handshake (C:\Users\sam\workspace\autocar\node_modules\mysql\lib\protocol\Protocol.js:52:41)
at Connection.connect (C:\Users\sam\workspace\autocar\node_modules\mysql\lib\Connection.js:125:18)
at Object.<anonymous> (C:\Users\sam\workspace\autocar\server.js:18:12)
at Module._compile (module.js:435:26)
at Object.Module._extensions..js (module.js:442:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:313:12)
at Function.Module.runMain (module.js:467:10)
at startup (node.js:136:18)

Solution

  • Try using 127.0.0.1 instead of localhost, there seems to be a problem with resolving names. This also helps if localhost resolves to ::1 (IPv6) but MySQL is only listening on 127.0.0.1 (IPv4).