O número inteiro máximo que o JavaScript pode representar com segurança é Number .MAX_SAFE_INTEGER , que é 2^53 - 1. Seu valor é maior que isso, o que está causando a perda de alguns bits.
node-mysql tem
supportBigNumbers e bigNumberStrings opções que analisam BIGINT s como strings. var connection = mysql.createConnection({
supportBigNumbers: true,
bigNumberStrings: true
});