Maison > base de données > tutoriel mysql > le corps du texte

Comment gérer les fuseaux horaires dans MySQL ?

DDD
Libérer: 2024-11-06 20:15:03
original
266 Les gens l'ont consulté

How do I manage time zones in MySQL?

Zones horaires MySQL

MySQL prend en charge une liste complète de fuseaux horaires, permettant aux développeurs de gérer et de manipuler les données de date et d'heure avec précision. La disponibilité des fuseaux horaires dans les paramètres MySQL dépend du système d'exploitation hôte sous-jacent, mais il existe des méthodes pour charger les informations sur les fuseaux horaires et accéder à une liste complète.

Pour établir l'heure locale pour une région spécifique, comme Calgary, les administrateurs peuvent charger les données de fuseau horaire à partir du système à l'aide de la commande suivante :

mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
Copier après la connexion

Une fois chargée, une liste des fuseaux horaires disponibles peut être consultée en exécutant :

USE mysql;
SELECT * FROM `time_zone_name`;
Copier après la connexion

Cela affichera une liste complète de tous les fuseaux horaires reconnus dans le système.

Lorsque vous traitez les fuseaux horaires dans MySQL, il est crucial de noter que les informations sur les fuseaux horaires consomment environ 5 Mo d'espace de base de données. Pour décharger les données de fuseau horaire, exécutez les commandes suivantes et redémarrez MySQL :

TRUNCATE `time_zone` ;
TRUNCATE `time_zone_leap_second` ;
TRUNCATE `time_zone_name` ;
TRUNCATE `time_zone_transition` ;
TRUNCATE `time_zone_transition_type` ;
Copier après la connexion

La suppression de ces tables doit être évitée car cela peut entraîner des problèmes.

Pour les mises à jour automatiques du fuseau horaire, assurez-vous que la connexion root est autorisée sans demande de mot de passe. Dans MySQL versions 5.6.6 et ultérieures, exécutez :

mysql_config_editor set --login-path=client --host=localhost --user=root --password
Copier après la connexion

Pour les versions antérieures à 5.6.6, créez un fichier ~/.my.cnf et incluez les éléments suivants :

[client]
user=root
password=yourMysqlRootPW
Copier après la connexion

Modifiez les autorisations des fichiers pour garantir la confidentialité. Un script crontab peut être ajouté pour les mises à jour quotidiennes des fuseaux horaires :

#!/bin/bash

if [ `find /usr/share/zoneinfo -mtime -1 | grep -v '\.tab' | wc -l` -gt 0 ]; then
    echo "Updating MySQL timezone info"

    mysql_tzinfo_to_sql /usr/share/zoneinfo 2>/dev/null | mysql -u root mysql
    echo "Done!\n"
fi
Copier après la connexion

En implémentant ces techniques, les développeurs peuvent gérer efficacement les fuseaux horaires dans MySQL et garantir une gestion précise de la date et de l'heure dans leurs applications.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal