title: Cannot connect to MySQL db with nodejs (openshift app)
body: <p>I have a nodejs (with express) openshift app that has a MySQL database (because that is what I am most familiar with), and I cannot figure out how to connect to it on the local environment. My last project I used a php framework with mamp to connect to the local database. What is the equivalent for node? This is the code I have to connect:</p>
  
  <pre><code> var mysql = require('mysql');
  
   var connection = mysql.createConnection({
    host     : '127.0.0.1',
    port     : '3307',
    database : 'test'
  </code></pre>
  
  <p>});</p>
  
  <pre><code> connection.connect( function(err){
  if (err){ 
      throw err;
  }
  else {
      console.log('Connected');
  }
   });
  </code></pre>
  
  <p>Here is the error when trying to connect locally:</p>
  
  <pre><code> Error: connect ETIMEDOUT
      at errnoException (net.js:901:11)
      at Object.afterConnect [as oncomplete] (net.js:892:19)
      --------------------
      at Protocol._enqueue (/Users/brandonmoffitt/stembudsnode/node_modules/mysql/lib/protocol/Protocol.js:110:26)
      at Protocol.handshake (/Users/brandonmoffitt/stembudsnode/node_modules/mysql/lib/protocol/Protocol.js:42:41)
      at Connection.connect (/Users/brandonmoffitt/stembudsnode/node_modules/mysql/lib/Connection.js:98:18)
      at Object.&lt;anonymous&gt; (/Users/brandonmoffitt/stembudsnode/server.js:16: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)
      at startup (node.js:119:16)
  </code></pre>
  
  <p>I am guessing that because I am trying to locally connect to the MySQL db set up by openshift, that I am receiving errors. I just dont know what else to try here. I have tried it without the password as well. </p>
  
  <p>If I switch to localhost for the host, this is the error I receive:</p>
  
  <pre><code>Error: ER_DBACCESS_DENIED_ERROR: Access denied for user ''@'localhost' to database 'stembuds'
  at Handshake.Sequence._packetToError (/Users/brandonmoffitt/stembudsnode/node_modules/mysql/lib/protocol/sequences/Sequence.js:30:14)
  at Handshake.ErrorPacket (/Users/brandonmoffitt/stembudsnode/node_modules/mysql/lib/protocol/sequences/Handshake.js:91:18)
  at Protocol._parsePacket (/Users/brandonmoffitt/stembudsnode/node_modules/mysql/lib/protocol/Protocol.js:202:24)
  at Parser.write (/Users/brandonmoffitt/stembudsnode/node_modules/mysql/lib/protocol/Parser.js:62:12)
  at Protocol.write (/Users/brandonmoffitt/stembudsnode/node_modules/mysql/lib/protocol/Protocol.js:37:16)
  at Socket.&lt;anonymous&gt; (/Users/brandonmoffitt/stembudsnode/node_modules/mysql/lib/Connection.js:72:28)
  at Socket.EventEmitter.emit (events.js:95:17)
  at Socket.&lt;anonymous&gt; (_stream_readable.js:736:14)
  at Socket.EventEmitter.emit (events.js:92:17)
  at emitReadable_ (_stream_readable.js:408:10)
  --------------------
  at Protocol._enqueue (/Users/brandonmoffitt/stembudsnode/node_modules/mysql/lib/protocol/Protocol.js:110:26)
  at Protocol.handshake (/Users/brandonmoffitt/stembudsnode/node_modules/mysql/lib/protocol/Protocol.js:42:41)
  at Connection.connect (/Users/brandonmoffitt/stembudsnode/node_modules/mysql/lib/Connection.js:98:18)
  at Object.&lt;anonymous&gt; (/Users/brandonmoffitt/stembudsnode/server.js:16: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)
  at startup (node.js:119:16)
  </code></pre>
  
  <p>Sorry for the length of this post, I just have no idea why it isnt working.</p>
  
  <p>EDIT:</p>
  
  <p>I  ssh'ed into the openshift shell to look at the mysql settings. When I do the 'show grants\g' command, this is what I receive: </p>
  
  <pre><code>  Grants for adminMYXaSuf@127.11.28.130
  
    GRANT ALL PRIVILEGES ON *.* TO 'adminMYXaSuf'@'127.11.28.130' IDENTIFIED BY PASSWORD '*D0CE5FA2AAD801A33C9190D0B615CC92F364BE6B' WITH GRANT OPTION
  </code></pre>
  
  <p>This password is different than the one openshift provided.</p>