MariaDB realiza un seguimiento de varias configuraciones de zona horaria.

Configuración de la zona horaria

los time_zone La variable del sistema es la forma principal de establecer la zona horaria. Se puede especificar en uno de los siguientes formatos:

  • El valor predeterminado es SYSTEM, que indica que la zona horaria del sistema definida en el system_time_zone se utilizará la variable del sistema. Consulte Zona horaria del sistema a continuación para obtener más información.
  • Un desplazamiento de la hora universal coordinada (UTC), como +5:00 o -9:00, también puede ser usado.
  • Si las tablas de zona horaria en el mysql se cargaron la base de datos, luego una zona horaria con nombre, como America/New_York, Africa/Johannesburg, o Europe/Helsinki, también está permitido. Consulte las tablas de zonas horarias de mysql a continuación para obtener más información.

Hay dos configuraciones de zona horaria que se pueden establecer dentro de MariaDB: la zona horaria del servidor global y la zona horaria de su sesión actual. También hay una tercera configuración de zona horaria que puede ser relevante: la zona horaria del sistema.

Zona horaria del servidor global

La zona horaria global del servidor se puede cambiar al iniciar el servidor configurando el --default-time-zone opción en la línea de comandos o en un grupo de opciones del servidor en un archivo de opciones. Por ejemplo:

[mariadb]...
default_time_zone ='America/New_York';

La zona horaria del servidor global también se puede cambiar dinámicamente configurando el time_zone variable del sistema como una cuenta de usuario que tiene la SUPER privilegio. Por ejemplo:

SETGLOBAL time_zone ='America/New_York';

La zona horaria del servidor global actual se puede ver mirando el valor global de la time_zone variable de sistema. Por ejemplo:

SHOWGLOBAL VARIABLES LIKE'time_zone';+---------------+--------+| Variable_name |Value|+---------------+--------+| time_zone     | SYSTEM |+---------------+--------+

Zona horaria de la sesión

Cada sesión que se conecta al servidor también tendrá su propia zona horaria. Esta zona horaria se hereda inicialmente del valor global de la time_zone variable de sistema, que establece el valor de sesión de la misma variable.

La zona horaria de una sesión se puede cambiar dinámicamente configurando el time_zone variable de sistema. Por ejemplo:

SET time_zone ='America/New_York';

La zona horaria de la sesión actual se puede ver mirando el valor de la sesión del time_zone variable de sistema. Por ejemplo:

SHOWSESSION VARIABLES LIKE'time_zone';+---------------+--------+| Variable_name |Value|+---------------+--------+| time_zone     | SYSTEM |+---------------+--------+

Zona horaria del sistema

La zona horaria del sistema se determina cuando se inicia el servidor y establece el valor de la system_time_zone variable de sistema. La zona horaria del sistema generalmente se lee del entorno del sistema operativo. Puede cambiar la zona horaria del sistema de varias formas diferentes, como:

  • Si está iniciando el servidor con mysqld_safe, luego puede configurar la zona horaria del sistema con el --timezone opción en la línea de comandos o en la [mysqld_safe]grupo de opciones en un archivo de opciones. Por ejemplo:
[mysqld_safe]
timezone='America/New_York'
  • Si está utilizando un sistema operativo similar a Unix, puede configurar la zona horaria del sistema configurando el TZvariable de entorno en su shell antes de iniciar el servidor. Por ejemplo:
$ export TZ='America/New_York'
$ service mysql start
  • En algunos sistemas operativos Linux, puede cambiar la zona horaria predeterminada para todo el sistema haciendo que el /etc/localtime punto de enlace simbólico a la zona horaria deseada. Por ejemplo:
$ sudo rm /etc/localtime
$ sudo ln -s /usr/share/zoneinfo/America/New_York /etc/localtime
  • En algunos sistemas operativos Linux basados ​​en Debian, puede cambiar la zona horaria predeterminada para todo el sistema ejecutando lo siguiente:
sudo dpkg-reconfigure tzdata
  • En los sistemas operativos Linux que usan systemd, puede cambiar la zona horaria predeterminada para todo el sistema utilizando el timedatectl utilidad. Por ejemplo:
sudo timedatectl set-timezone America/New_York

Efectos de la zona horaria

Efectos de la zona horaria en las funciones

Algunas funciones se ven afectadas por la configuración de la zona horaria. Éstos incluyen:

Algunas funciones no se ven afectadas. Éstos incluyen:

Efectos de la zona horaria en los tipos de datos

Algunos tipos de datos se ven afectados por la configuración de la zona horaria.

  • TIMESTAMP – Consulte TIMESTAMP: Time Zones para obtener información sobre cómo este tipo de datos se ve afectado por las zonas horarias.
  • DATETIME – Consulte DATETIME: Time Zones para obtener información sobre cómo este tipo de datos se ve afectado por las zonas horarias.

Tablas de zona horaria de mysql

los mysql La base de datos contiene una serie de tablas de zonas horarias:

De forma predeterminada, estas tablas de zona horaria en el mysql La base de datos se crea, pero no se completa.

Si está usando un sistema operativo similar a Unix, entonces puede completar estas tablas usando el mysql_tzinfo_to_sql utilidad, que utiliza la zoneinfo datos disponibles en Linux, Mac OS X, FreeBSD y Solaris.

Si está utilizando Windows, deberá importar tablas de zona horaria previamente completadas. Algunos están disponibles en Documentación de MySQL.

Los datos de la zona horaria deben actualizarse de vez en cuando. Cuando eso suceda, es posible que sea necesario volver a cargar las tablas de zona horaria.

El contenido reproducido en este sitio es propiedad de sus respectivos dueños, y MariaDB no revisa este contenido con anticipación. Los puntos de vista, la información y las opiniones expresadas por este contenido no representan necesariamente las de MariaDB o de cualquier otra parte.