Come menzionato da @ceejayoz, i fusi orari delle località cambiano a seconda dell'osservazione dell'ora legale. Inoltre, è più appropriato chiamarlo UTC piuttosto che GMT, poiché quando lo chiami GMT, significa che i tuoi server sono sintonizzati su un'ora locale, ad esempio l'ora di Londra, e che l'ora del tuo server passerà a un'altra ora, diciamo BST, quando si osserva l'ora legale.
Supponendo, poiché presumo che tu stia tentando di comunicare, che i tuoi server siano impostati sull'ora UTC, senza mai osservare l'ora legale e che tu voglia tradurla nell'ora osservata dalla maggior parte delle città degli Stati Uniti orientali, una soluzione sarebbe
SELECT NOW(),
CONVERT_TZ(NOW(), 'UTC', 'America/New_York'),
CONVERT_TZ(NOW(), 'UTC', 'America/New_York') - INTERVAL 10 MINUTE;