zona horaria change cambiar mysql timezone

change - MySQL cambio de zona horaria?



mysql 8 timezone (6)

¿Cómo cambio mi zona horaria, que actualmente está en UTC a GMT +1, cuál es la línea correcta y solo la ingreso en la ejecución de phpMyAdmin SQL?

Mi anfitrión acaba de darme este enlace http://dev.mysql.com/doc/refman/5.1/en/time-zone-support.html y se apagó, así que estoy un poco perdido gracias


Aquí se explica cómo sincronizar PHP (> = 5.3) y zonas horarias MySQL por sesión y configuración de usuario. Coloque esto donde se ejecuta cuando necesita establecer zonas horarias sincronizadas.

date_default_timezone_set($my_timezone); $n = new /DateTime(); $h = $n->getOffset()/3600; $i = 60*($h-floor($h)); $offset = sprintf(''%+d:%02d'', $h, $i); $this->db->query("SET time_zone=''$offset''");

Donde $ my_timezone es uno en la lista de zonas horarias PHP: http://www.php.net/manual/en/timezones.php

La zona horaria de PHP tiene que convertirse en la compensación de horas y minutos para MySQL. Eso es lo que hacen las líneas 1-4.


La forma más fácil de hacerlo, como lo señaló Umar, es, por ejemplo,

mysql> SET GLOBAL time_zone = ''America/New_York'';

Usar la zona horaria nombrada es importante para la zona horaria que tiene un ajuste de guardado de luces diurnas. Sin embargo, para algunas versiones de Linux, puede obtener la siguiente respuesta:

# 1298 - Huso horario desconocido o incorrecto

Si está viendo esto, puede necesitar ejecutar una traducción tzinfo_to_sql ... es fácil de hacer, pero no es obvio. Desde la línea de comando de linux ingresa:

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

Proporcione su contraseña de root (raíz de MySQL, no raíz de Linux) y cargará cualquier definición en su información de zona en mysql. Luego puede regresar y ejecutar su

mysql> SET GLOBAL time_zone = timezone;


Si SET time_zone o SET GLOBAL time_zone no funciona, puede cambiar de la siguiente manera:

  • Cambiar el sistema de zona horaria, ejemplo: ubuntu ... $ sudo dpkg-reconfigure tzdata

  • Reinicie el servidor o puede reiniciar apache2 y mysql (/etc/init.d/mysql restart)


Si bien la respuesta de Bryon es útil, solo agregaría que su enlace es para los nombres de la zona horaria de PHP, que no son los mismos que los nombres de la zona horaria de MySQL.

Si desea configurar su zona horaria para una sesión individual en GMT + 1 (UTC + 1 para ser preciso) simplemente use la cadena ''+01: 00'' en ese comando. Es decir:

SET time_zone = ''+01:00'';

Para ver qué zona horaria está usando su sesión de MySQL, solo ejecute esto:

SELECT @@global.time_zone, @@session.time_zone;

Esta es una gran referencia con más detalles: Referencia de MySQL 5.5 en zonas horarias


Si tiene el privilegio SUPER, puede establecer el valor de la zona horaria del servidor global en tiempo de ejecución con esta instrucción:

mysql> SET GLOBAL time_zone = timezone;


emita el comando:

SET time_zone = ''America/New_York'';

(O cualquiera que sea la zona horaria GMT + 1 es .: http://www.php.net/manual/en/timezones.php )

Este es el comando para configurar la zona horaria de MySQL para un cliente individual, suponiendo que sus clientes estén distribuidos en varias zonas horarias.

Este comando debe ejecutarse antes de cada comando SQL que involucre fechas. Si sus consultas pasan por una clase, entonces esto es fácil de implementar.