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 elsystem_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, comoAmerica/New_York
,Africa/Johannesburg
, oEurope/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
TZ
variable 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 eltimedatectl
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.
No se te olvide dar recomendación a este ensayo si te fue útil.