Cargar zonas horarias en Mysql

Para ciertos consultas necesitamos utilizar zonas horarias en Mysql. Por defecto, las mismas no están cargadas. Para comprobarlo podemos ejecutar la siguiente consulta:

SELECT convert_tz('2014-07-01 3:14:15','UTC','America/Argentina/Buenos_Aires');

Si obtenemos NULL como resultado, debemos proceder de la siguiente manera según el sistema operativo:

Linux (Sistema con zoneinfo)

Ejecutar desde la línea de comandos:

mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql

mysql_tzinfo_to_sql lee las zonas horarias del sistema y genera consultas SQL a partir de ellos. Mysql las recibe y carga las tablas de zonas horarias con los datos correspondientes.

 

Atención: Es posible que surja el siguiente error:

ERROR 1406 (22001) at line 38407: Data too long for column 'Abbreviation' at row 1

esto se debe a que el servidor está en modo estricto. Debemos cambiar el modo actual temporalmente, ejecutar el comando indicado y volver al modo original.

Windows (Sistema sin zoneinfo)

  1. Descargar de http://dev.mysql.com/downloads/timezones.html la última versión de las tablas de descripción de zonas horarias POSIX (En este momento POSIX standard Time zone description tables, version 2011n)
  2. Hacer un backup de la base de datos ‘mysql’
  3. Detener el servidor Mysql.
  4. Descomprimir el zip descargado y ubicar su contenido dentro del directorio de la base de datos ‘mysql’ (ubicado dentro del directorio de datos de Mysql), sobrescribiendo los archivos existentes.
  5. Reiniciar el servidor Mysql.
Tagged with: , ,
Publicado en Aplicaciones
One comment on “Cargar zonas horarias en Mysql
  1. […] Si no obtenemos ningún resultado, entonces deberemos cargar las zonas horarias en Mysql. […]

Los comentarios están cerrados.