Modificando la zona horaria a mysql (local timezone)

change mysql timezone

change mysql timezone

En Qbit Mexhico, tenemos nuevo servidor con linux, el cual es necesario configurar desde los fierros.. y aunque la mayoría de cosas que instalamos no requieren mucha configuración, algunas otras sí y ese es el caso del timezone de mysql.

En esta ocasión reconfiguramos el timezone a nuestro servidor mediante el comando dpkg-reconfigure

sudo dpkg-reconfigure tzdata

Luego nos conectamos al servidor de mysql y haciendo la consulta “SELECT NOW();” debería ver algo como:

mysql> SELECT NOW();
+---------------------+
| NOW()               |
+---------------------+
| 2015-02-09 11:32:39 |
+---------------------+
1 row in set (0.00 sec)

Si notan que la fecha y hora no coinciden con su hora local, entonces algo con el timezone está mal, nuevamente pueden hacer otra consulta para verificar que timezone se está utilizando:

mysql> SELECT @@global.time_zone;
+--------------------+
| @@global.time_zone |
+--------------------+
| SYSTEM             |
+--------------------+
1 row in set (0.00 sec)

Sorpresa, dice que se está utilizando el timezone del sistema (ósea que debería estar bien porque lo acabo de configurar).. entonces ya para corregirlo lo que se necesita hacer es modificar el timezone de la tabla mysql y setear a mano el valor que desean, para nuestro caso lo definimos con la zona horaria de la Ciudad de México, entonces:

mysql> SET GLOBAL time_zone = "America/Mexico_City";
Query OK, 0 rows affected (0.00 sec)

Luego de esto deben de hacer un sudo service mysql restart y si revisan la zona horaria mediante las consultas descritas aquí arriba, la hora del sistema y la hora de mysql deben coincidir con la hora local, si no están seguros de como escribir su zona horaria, pueden hacer una búsqueda utilizando esta consulta.

mysql> SELECT * FROM mysql.time_zone_name WHERE Name LIKE '%exico%';
+---------------------------+--------------+
| Name                      | Time_zone_id |
+---------------------------+--------------+
| America/Mexico_City       |          160 |
| Mexico/BajaNorte          |          508 |
| Mexico/BajaSur            |          509 |
| Mexico/General            |          510 |
...
+---------------------------+--------------+
12 rows in set (0.00 sec)

Y espero que con esto se corriga el problema, de no ser así, tendrán que continuar investigando.. claro, si encuentran la solución, pasen a dejar su comentario.

La información completa de estos comandos y como utilizarlos la encontrarán directamente desde la página de mysql en http://dev.mysql.com/doc/refman/5.1/en/time-zone-support.html

Happy Coding!

Co-fundador de Qbit Mexhico, usuario de linux, Developer en tecnologías web.. Nicaragüense, centro en basketball, primer centro en rugby y pintor los fines de semana. Ortögrafo y ambientalista psicológico (de escritorio).. ese soy yo!

Si te ha servido compártelo y difunde nuestro blog..

Facebook Twitter LinkedIn Google+ Flickr YouTube Skype 

Compartir en...Tweet about this on TwitterPin on Pinterest0Share on LinkedIn0Share on Google+0Share on Facebook0