Eu tive um problema semelhante onde eu estava recebendo o mesmo erro.
A resposta para mim acabou sendo que eu estava usando uma porta diferente. Por padrão, o mysql espera uma porta de 3306, mas eu estava usando o MAMP, onde a porta do servidor MySQL foi especificada como 8889. Assim que adicionei uma definição de porta à minha conexão com o banco de dados, tudo bem:
var connection = mysql.createConnection({
port: 8889,
user: 'root',
password : 'password',
database : 'my_database'
});
NOTA:Isto é para Mac usando MAMP, não tentei no Ubuntu ou Windows.