Eu estava vendo que minhas gotículas têm um fuso horário diferente entre o sistema operacional e o MySQL. Por padrão, configurei todos os vms para o fuso horário brasileiro (America / Sao_Paulo) através de tzselect
e, assumindo que o MySQL vem usando o fuso horário padrão do sistema.
Então, quando eu digito para o timestamp atual, eu recebo isso do CentOS:
date
Thu Jun 9 09:43:03 BRT 2016
e do MySQL:
mysql> select current_timestamp;
+---------------------+
| current_timestamp |
+---------------------+
| 2016-06-09 12:45:57 |
+---------------------+
1 row in set (0.00 sec)
mysql>
Lendo documentos do MySQL 5.5 , tenho a opção de usar o fuso horário como string, como 'America/Sao_Paulo'
por exemplo, no entanto, o CentOS 6.5 vem com o MySQL 5.1, e ele não tem a mesma opção , usando apenas horas, como +3: 00 ... Eu tenho certeza que eu não deveria me preocupar com data / hora do MySQL desde que eu configurei no sistema.
Configurações do CentOS para fuso horário que fiz:
Eu usei o comando tzselect
para definir o fuso horário brasileiro, pensando que o MySQL assumirá essa configuração. Após a reinicialização, percebo que o sistema apaga minhas configurações no tzselect, para evitar isso, coloco essa linha em /etc/rc.local
:
ln -sf /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime
Mesmo que isso configure, percebo que alguns vms são como UTC e outros com BRT ... e neste momento, eu realmente não sei como configurarei todos os meus servidores, pelo menos 40 máquinas, com o mesmo caminho.
Alguém pode me ajudar a explicar como posso definir corretamente o fuso horário para o sistema a também para o MySQL?
Informações adicionais
Sistema: CentOS 6.5 x64
MySQL: 5.1 (padrão)
Abaixo, o comando solicitado por @lese:
mysql> SELECT @@global.time_zone, @@session.time_zone;
+--------------------+---------------------+
| @@global.time_zone | @@session.time_zone |
+--------------------+---------------------+
| SYSTEM | SYSTEM |
+--------------------+---------------------+
1 row in set (0.00 sec)
mysql> select current_timestamp;
+---------------------+
| current_timestamp |
+---------------------+
| 2016-06-09 14:31:19 |
+---------------------+
1 row in set (0.00 sec)
mysql> exit
Bye
$ date
Thu Jun 9 11:31:22 BRT 2016
E hora da máquina em /etc/sysconfig/clock
file:
[root@xxxx]# cat /etc/sysconfig/clock
ZONE=Etc/UTC
Atenciosamente.