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
Une fois chargée, une liste des fuseaux horaires disponibles peut être consultée en exécutant :
USE mysql; SELECT * FROM `time_zone_name`;
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` ;
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
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
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
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!