I see this question has been asked many times, but none of the answers match my situation:
Tech: node.js with mysql node_module
node code:
app.get('/test', function(req, res) {
   var mysql = require('mysql');
   var con = mysql.createConnection({
      host: "localhost",
      user: "node",
      password: "myPassword",
      database : "myDatabase"
   });
con.connect(function(err) {
  if (err) throw err;
  console.log('CONNECTED');
});
Error:
Error: ER_ACCESS_DENIED_ERROR: Access denied for user 'node'@'127.0.0.1' (using password: YES)
    at Handshake.Sequence._packetToError (/var/node/node_modules/mysql/lib/protocol/sequences/Sequence.js:47:14)
    at Handshake.ErrorPacket (/var/node/node_modules/mysql/lib/protocol/sequences/Handshake.js:124:18)
    at Protocol._parsePacket (/var/node/node_modules/mysql/lib/protocol/Protocol.js:278:23)
    at Parser.write (/var/node/node_modules/mysql/lib/protocol/Parser.js:76:12)
    at Protocol.write (/var/node/node_modules/mysql/lib/protocol/Protocol.js:38:16)
    at Socket.<anonymous> (/var/node/node_modules/mysql/lib/Connection.js:91:28)
    at Socket.<anonymous> (/var/node/node_modules/mysql/lib/Connection.js:502:10)
    at Socket.emit (events.js:182:13)
    at addChunk (_stream_readable.js:283:12)
    at readableAddChunk (_stream_readable.js:264:11)
    --------------------
    at Protocol._enqueue (/var/node/node_modules/mysql/lib/protocol/Protocol.js:144:48)
    at Protocol.handshake (/var/node/node_modules/mysql/lib/protocol/Protocol.js:51:23)
    at Connection.connect (/var/node/node_modules/mysql/lib/Connection.js:118:18)
    at /var/node/index.js:24:5
    at Layer.handle [as handle_request] (/var/node/node_modules/express/lib/router/layer.js:95:5)
    at next (/var/node/node_modules/express/lib/router/route.js:137:13)
    at Route.dispatch (/var/node/node_modules/express/lib/router/route.js:112:3)
    at Layer.handle [as handle_request] (/var/node/node_modules/express/lib/router/layer.js:95:5)
    at /var/node/node_modules/express/lib/router/index.js:281:22
    at Function.process_params (/var/node/node_modules/express/lib/router/index.js:335:12)
[nodemon] app crashed - waiting for file changes before starting...
mysql works fine:
root@www:/var/node# mysql -u node -p myDatabase
Enter password:
Connects no problem at all with mysql from the command line; but does not work from node.
From package.json
"dependencies": {
    "express": "^4.16.3",
    "mysql": "^2.16.0",
    "nodemon": "^1.18.3"
  },
Why why why... ? LOL
