Saya memiliki masalah serupa di mana saya mendapatkan kesalahan yang sama.
Jawaban bagi saya akhirnya adalah bahwa saya menggunakan port yang berbeda. Secara default, mysql mengharapkan port 3306, tapi saya menggunakan MAMP, di mana port server MySQL ditetapkan sebagai 8889. Segera setelah saya menambahkan definisi port ke koneksi database saya, itu baik-baik saja:
var connection = mysql.createConnection({
port: 8889,
user: 'root',
password : 'password',
database : 'my_database'
});
CATATAN:Ini untuk Mac yang menggunakan MAMP, belum mencobanya di ubuntu atau Windows.