title: Error: connect ETIMEDOUT
body: <p>I am trying to work with Node and Mysql but i keep encountering error when trying to connect with the Database.</p>
  
  <pre><code> //For mysql server
  var mysql = require('mysql');
  
  var connection = mysql.createConnection(
  {
    host: 'example.com',
    user: 'abc',
    password: '***',
    database: 'abcd',
    port: 3306,
  });
  // If there is an error connecting to the database
  connection.connect( function(err)
  {
    if (err)
    { 
      throw err;
    }
    else 
    {
      console.log('DB connection establish');
    }
  });
  
  function check_userid(usersId)
  {
  var que = connection.query(
    'select * from table where id = '+usersId, function(err, result, fields){
    if(err) throw err;
    console.log('Resultset: ', result);
    console.log('Length of Resultset: ', result.length);
  
    if(result.length == 0)
    {
      connection.query('insert into table (id, user_status) values ( "' + usersId + '", "' + 'connected' + '")', 
                      function (err, result) 
                      {
                        if (err) throw err;
                        console.log('Updation of table: ',result.insertId);
                      });
    }
    else
    {
      connection.query('update table SET user_status="'+'connected'+'" WHERE id = "' + usersId + '"', 
                      function (err, result) 
                      {
                        if (err) throw err;
                        console.log('Updation of Table: ',result.insertId);
                      });
    }
    });
  
  }
  //For websocket
  var webSocketServer = new (require('ws')).Server({port: (process.env.PORT || 5000)}),
  webSockets = {} // userID: webSocket
  
  // CONNECT /:userID
  // wscat -c ws://localhost:5000/1
  webSocketServer.on('connection', function (webSocket) 
  {
    var userID = parseInt(webSocket.upgradeReq.url.substr(1), 10)
    webSockets[userID] = webSocket
                     console.log('connected: ' + userID + ' in ' + Object.getOwnPropertyNames(webSockets))
  
                     check_userid(userID);
  
                     // Forward Message
                     //
                     // Receive               Example
                     // [toUserID, text]      [2, "Hello, World!"]
                     //
                     // Send                  Example
                     // [fromUserID, text]    [1, "Hello, World!"]
                     webSocket.on('message', function(message) {
                                  console.log('received from ' + userID + ': ' + message)
                                  var messageArray = JSON.parse(message)
                                  var toUserWebSocket = webSockets[messageArray[0]]
                                  if (toUserWebSocket) {
                                  console.log('sent to ' + messageArray[0] + ': ' + JSON.stringify(messageArray))
                                  messageArray[0] = userID
                                  toUserWebSocket.send(JSON.stringify(messageArray))
                                  }
                                  })
  
                     webSocket.on('close', function () {
                                  delete webSockets[userID]
                                  console.log('deleted: ' + userID)
                                  connection.query('update table SET user_status="'+'disconnected'+'" WHERE id = "' + userID + '"', 
                      function (err, result) 
                      {
                        if (err) throw err;
                        console.log('Updation of table: ',result.insertId);
                      });
                                  })
                     })
  </code></pre>
  
  <p>And i keep getting the following Error</p>
  
  <pre><code>Error: connect ETIMEDOUT
  at errnoException (net.js:904:11)
  at Object.afterConnect as oncomplete
  --------------------
  at Handshake.Sequence (/Users/apple/Desktop/js/node_modules/mysql/lib/protocol/sequences/Sequence.js:15:21)
  at new Handshake (/Users/apple/Desktop/js/node_modules/mysql/lib/protocol/sequences/Handshake.js:9:12)
  at Protocol.handshake (/Users/apple/Desktop/js/node_modules/mysql/lib/protocol/Protocol.js:44:50)
  at Connection.connect (/Users/apple/Desktop/js/node_modules/mysql/lib/Connection.js:38:18)
  at Object. (/Users/apple/Desktop/js/server.js:13:12)
  at Module._compile (module.js:456:26)
  at Object.Module._extensions..js (module.js:474:10)
  at Module.load (module.js:356:32)
  at Function.Module._load (module.js:312:12)
  at Function.Module.runMain (module.js:497:10)
  </code></pre>
  
  <p>Description:
  I run same server in localhost,and succesfully connected with phpMyadmin and I did not got that error but When I implement that server in VPS it cannot create connection with phpMyadmin and say connect ETIMEDOUT.</p>