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)
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).