J'ai eu un problème similaire où j'obtenais la même erreur.
La réponse pour moi a fini par être que j'utilisais un port différent. Par défaut, mysql attend un port de 3306, mais j'utilisais MAMP, où le port du serveur MySQL était spécifié comme 8889. Dès que j'ai ajouté une définition de port à ma connexion à la base de données, tout s'est bien passé :
var connection = mysql.createConnection({
port: 8889,
user: 'root',
password : 'password',
database : 'my_database'
});
REMARQUE :Ceci est pour Mac utilisant MAMP, je ne l'ai pas essayé sur Ubuntu ou Windows.