Como mudar a hora do MySQL?

O fuso horário do MySQL está definido por defeito para GMT e não é configurável pelo utilizador. O MySQL só suporta um fuso horário por mysql daemon. Portanto, não poderá fazer NOW () e esperar que apareça um resultado diferente de GMT.

No entanto, existem maneiras para que possa obter o seu fuso horário. Primeiro terá de determinar quantas horas a mais o seu fuso horário tem, em relação ao pretendido. Por exemplo, GMST é +1.
Sabendo a diferença, poderá substituir todos os seus comandos SQL:
SELECT NOW ();
por:
SELECT DATE_ADD (NOW (), INTERVAL 1 HOUR);
(caso deseje subtrair horas, o comando passa a SELECT DATE_SUB (NOW (), INTERVAL 1 HOUR);)
Se estiver a trabalhar com o tempo em segundos em vez de horas, então use o deslocamento em segundos. Uma vez que há 3600 segundos por hora, e GMST é de +1 em relação a GMT, a conversão de GMT para GMST será feita da seguinte forma:
SELECT unix_timestamp () + (3600 * 1);
SELECT FROM_UNIXTIME (UNIX_TIMESTAMP () + (3600 * 1));