Estate atento ya que en este enunciado vas a hallar la respuesta que buscas.Este artículo fue evaluado por nuestros expertos para asegurar la calidad y exactitud de nuestro post.
Solución:
No, no es posible cambiar la zona horaria de una sola base de datos dentro de una instancia de MySQL.
Podemos recuperar el servidor y el cliente. time_zone
settings con una consulta, como esta:
SELECT @@global.time_zone, @@session.time_zone;
También podemos cambiar la zona horaria del cliente para una sesión, o cambiar la zona horaria para toda la instancia de MySQL.
Pero debemos ser muy conscientes de la implicación que tendrá este cambio en las conexiones de clientes existentes, y cómo DATETIME
y TIMESTAMP
se interpretarán los valores ya almacenados en la instancia.
Para tener la zona horaria del servidor configurada al inicio de la instancia de MySQL, podemos modificar el /etc/my.cnf
(o donde sea que se lean los parámetros de inicialización de la instancia mysql), bajo el [mysqld]
sección:
[mysqld]
default-time-zone='+00:00'
— o —
También es posible (menos deseable) añadir el --default_time_zone='+00:00'
opción a mysqld_safe
NOTA: Cambiar la configuración de la zona horaria en el servidor MySQL NO cambia los valores almacenados en las columnas DATETIME o TIMESTAMP existentes, PERO dado que cambia efectivamente el contexto en el que se interpretan esos valores almacenados, parecerá que todos los valores ESTÁN cambiados. (Donde 08:00 se tomó como las 8 a. m. CST, con la zona horaria del servidor cambiada de CST a GMT, ese mismo ’08:00′ ahora se tomará como las 8 a. m. GMT, que en realidad serían las 2 a. m. CST.
También tenga en cuenta que las columnas TIMESTAMP siempre se almacenan en UTC, mientras que las columnas DATETIME no tienen una zona horaria. http://dev.mysql.com/doc/refman/5.5/en/datetime.html
Cada sesión de cliente puede cambiar la configuración de la zona horaria para su propia sesión:
SET time_zone='-06:00';
Pero nada de esto realmente “resuelve” el problema de conversión de la zona horaria, simplemente mueve el problema de conversión.
No hay nada intrínsecamente “malo” con la capa de aplicación que maneja las conversiones de zona horaria; a veces, ese es el mejor lugar para manejar. Sólo tiene que hacerse correctamente y consistentemente.
(Lo extraño de la configuración que describe es que la aplicación almacena valores DATETIME como si la zona horaria del servidor MySQL estuviera configurada en GMT, pero la zona horaria del servidor MySQL estuviera configurada en otra cosa).
Te mostramos reseñas y puntuaciones
Recuerda algo, que tienes la capacidad de decir si te fue de ayuda.