Node JS Mysql PROTOCOL ENQUEUE AFTER FATAL ERROR
I had similar issue connecting with MySQL. I solved this issue using connection pool. The concept is to get a connection from a connection pool only when required and release it after use. That way the connection will not be in unstable state. You can get implementation details here.