Mostrando entradas con la etiqueta mysql. Mostrar todas las entradas
Mostrando entradas con la etiqueta mysql. Mostrar todas las entradas

miércoles, 25 de mayo de 2016

Cambiar la zona horaria en MySQL

Con la siguiente sentencias podrás consultar la zona horaria:

1
mysql> SELECT @@global.time_zone, @@session.time_zone, TIMEDIFF(NOW(), UTC_TIMESTAMP);

Para cambiarla, puedes hacerlo con o sin reinicio del servidor MySQL. Aquí te dejo los pasos para cada una de las opciones:


Opción 1: Con reinicio del servicio

Es necesario editar el archivo "/etc/my.cnf"

Agrega o modifica la línea:

default-time-zone = '-04:00'

Luego reinicia el servicio:

$ service mysql restart



Opción 2: Sin reiniciar el servicio

En este caso puedes cambiar la zona horaria para que aplique a nivel global o solo para la sesión actual en la que estás (osea, se te desconectar y vuelves a entrear, se perderá la zona horaria elegida anteriormente)

Si el cambio lo quieres hacer global, la sentencia debe ser la siguiente:

1
mysql> SET GLOBAL time_zone = '-04:00';


En cambio, si quieres que solo aplique a la sesión actual, la sentencia debe ser esta:

1
mysql> SET time_zone = '-04:00';



Bonus (Linux):

Si se te complica utilizar números para especificar la zona horaria y te sientes más cómodo o familiarizado con los nombres, puedes agregarlos a MySQL muy fácilmente si estás trabajando en GNU/Linux (supongo que para Windows será igualmente fácil pero yo no entro ahí). Tan solo ejecuta el siguiente comando en la shell:

$ mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -uroot -p mysql

Con esto ya puedes realizar los cambios de la zonas horarias de la siguiente forma:

1
mysql> SET time_zone='America/Santiago';
o
1
mysql> SET GLOBAL time_zone='America/Santiago';

* Puede que requiera reinicio del servicio para para refrescar data en cache de antiguas zonas horarias (en caso de existir).