Dans cet article, nous verrons comment vous pouvez changer le fuseau horaire MySQL sur votre serveur afin que les données stockées dans vos bases de données utilisent par défaut le fuseau horaire que vous avez spécifié.
La plupart du temps, votre fuseau horaire local sera différent de celui du serveur MySQL, ce qui pourrait compliquer le travail avec les données de vos bases de données. En suivant les étapes suivantes, vous pouvez mettre à jour le fuseau horaire de votre serveur MySQL afin qu'il corresponde au vôtre afin de faciliter l'utilisation de ces données.
Ce changement nécessiterait un accès root à un VPS (Virtual Private Server) ou à un plan d'hébergement de serveur dédié, ou vous pouvez contacter notre service d'assistance pour que cela change sur votre serveur. Vous devrez peut-être aussi simplement savoir comment convertir l'heure MySQL, ce qui ne nécessiterait pas d'accès root et peut être effectué sur un serveur partagé.
Modification du fuseau horaire dans MySQL
- Connectez-vous à votre serveur via SSH en tant qu'utilisateur root.
- Vous pouvez afficher les paramètres de fuseau horaire actuels de MySQL à l'aide de la commande suivante depuis la console :
mysql -e "SELECT @@global.time_zone;"
Par défaut, vous devriez obtenir quelque chose de similaire à :+--------------------+ | @@global.time_zone | +--------------------+ | SYSTEM | +--------------------+
En effet, par défaut, votre fuseau horaire MySQL sera défini sur le SYSTEM par défaut du serveur. temps. Si vous souhaitez modifier le fuseau horaire de l'ensemble du serveur, vous pouvez le faire en définissant le fuseau horaire dans WHM. - Vous pouvez voir le SYSTEM du serveur horodatage à l'aide de la commande suivante :
date
Qui restituera :Mon Nov 26 12:50:07 EST 2012
- Vous pouvez voir l'horodatage actuel signalé par le serveur MySQL à l'aide de la commande suivante :
mysql -e "SELECT NOW();"
Cela devrait rendre l'horodatage actuel :+---------------------+ | NOW() | +---------------------+ | 2012-11-26 12:50:15 | +---------------------+
- Vous pouvez désormais modifier votre fichier de configuration MySQL avec votre éditeur de texte préféré :
vi /etc/my.cnf
Ajoutez ensuite la ligne suivante pour passer de EST (GMT -5:00 ) à CST (GMT -6:00 ):default-time-zone = '-06:00'
Enregistrez maintenant le fichier /etc/my.cnf fichier avec votre nouvelle valeur par défaut.
- Pour rendre la modification active, vous devrez redémarrer le service MySQL avec la commande suivante :
service mysql restart
- Maintenant, si vous essayez de voir à nouveau le paramètre de fuseau horaire global avec la commande :
mysql -e "SELECT @@global.time_zone;"
Vous devriez maintenant récupérer votre nouvelle valeur par défaut :+--------------------+ | @@global.time_zone | +--------------------+ | -06:00 | +--------------------+
- Vous devriez également voir maintenant que le NOW() la fonction a également été mise à jour :
mysql -e "SELECT NOW();"
Cela devrait rendre l'horodatage actuel :+---------------------+ | NOW() | +---------------------+ | 2012-11-26 11:50:15 | +---------------------+
Vous devez maintenant savoir comment mettre à jour le paramètre de fuseau horaire du serveur MySQL, pour vous assurer que les données stockées dans les bases de données sont faciles à utiliser. Vous pouvez également utiliser des fuseaux horaires nommés au lieu de GMT -6:00 format, mais cela nécessiterait d'abord que vous chargiez les tables de fuseaux horaires dans le mysql base de données. Plus d'informations à ce sujet peuvent être trouvées sur le site MySQL concernant mysql_tzinfo_to_sql et le chargement des tables de fuseaux horaires.