Faresti meglio a impostare il fuso orario in anticipo:
SET time_zone='UTC';
select FROM_UNIXTIME(1277942400);
Il motivo è che le conversioni che coinvolgono un fuso orario locale possono essere in perdita. C'è un esempio di questo in documenti qui
(vedi il 4° paragrafo sotto il UNIX_TIMESTAMP()
sezione che inizia con "Nota:")