Comment définir le fuseau horaire dans MySQL

Comment définir le fuseau horaire dans MySQL
«Travailler avec le temps est l'une des choses les plus difficiles que vous rencontrerez en tant que développeur. Bien que les principaux langages de programmation fournissent des outils et des fonctionnalités pour faciliter cela, les bases de données vous obligent à effectuer une mise en forme de temps manuellement.

Dans ce tutoriel, nous essaierons de faire le processus de travail avec les fuseaux horaires dans les bases de données en vous montrant comment définir un fuseau horaire dans les bases de données MySQL. Bien que cela ne résoudra pas pleinement la façon dont vous travaillez avec le temps, cela vous aidera à comprendre divers concepts sur les fuseaux horaires dans MySQL et d'autres bases de données relationnelles."

Explorons.

MySQL Set Timezone - Méthode 1

Vous pouvez utiliser diverses méthodes pour définir et configurer le fuseau horaire dans un serveur MySQL. Le premier consiste à définir le fuseau horaire de la variable de session.

MySQL vous fournit la session @@.Variable Time_zone, qui stocke le fuseau horaire actuel de la session en cours d'exécution.

Chaque session qui se connecte au serveur MySQL se voit attribuer son paramètre de fuseau horaire de session. Par défaut, cette valeur est définie sur la valeur globale du fuseau horaire.

Par conséquent, si vous souhaitez modifier le fuseau horaire de votre session actuelle sans affecter d'autres sessions connectées au serveur, c'est la variable que vous modifiez.

Vous pouvez afficher le fuseau horaire actuel de votre session en récupérant la valeur stockée par cette variable. Un exemple de requête est illustré ci-dessous:

Sélection de la session @@.fuseau horaire;

L'exécution de la requête ci-dessus doit renvoyer la sortie comme indiqué:

Dans ce cas, nous pouvons voir que la session en cours utilise le fuseau horaire défini dans le fichier de configuration MySQL. Vous devrez peut-être configurer des tables d'information sur le zone de temps dans MySQL si vous avez besoin de récupérer les noms réels du fuseau horaire.

Soyez prudent lorsque vous effectuez des modifications dans les fuseaux horaires du système, en particulier sur les systèmes UNIX. Vous pouvez en savoir plus sur la configuration du fuseau horaire dans la ressource ci-dessous:

https: // dev.mysql.com / doc / Refman / 8.0 / EN / SUPPORT DE LA TIR-ZONE.html

Pour définir le fuseau horaire de votre session actuelle, vous pouvez utiliser la commande SET suivie du nom de la variable et du fuseau horaire cible.

Par exemple, pour définir le fuseau horaire actuel sur Los Angeles, nous pouvons exécuter la requête comme indiqué:

Définir @@ session.Time_zone = 'America / Los_Angeles';

Remarque: Définir le fuseau horaire en utilisant le nom du fuseau horaire nécessite que le système inclue les fuseaux horaires. Par défaut, les systèmes de type UNIX incluent les fichiers ZoneInfo utilisés pour les informations de fuseau horaire. Sur Windows, vous devrez peut-être installer manuellement les informations du fuseau horaire pour votre serveur.

Vous pouvez également définir le fuseau horaire à l'aide d'une valeur de décalage comme indiqué:

Définir @@ session.Time_zone = '-7: 00';

Enfin, vous pouvez confirmer le fuseau horaire actuel de session:

Sélection de la session @@.fuseau horaire;

Sortie résultante:

MySQL Set Timezone - Méthode 2

La deuxième méthode que vous pouvez utiliser pour définir le fuseau horaire de votre serveur MySQL est en modifiant la variable globale du fuseau horaire.

Contrairement à la session @@.Variable Time_zone, qui est limitée à une session spécifique, le @@ global.La variable Time_zone est adoptée à toutes les séances.

Vous pouvez vérifier la valeur globale du fuseau horaire comme indiqué:

Sélectionner @@ global.fuseau horaire;

Par défaut, la valeur du fuseau horaire global est définie sur le système tel que défini dans le fichier de configuration du serveur.

Pour modifier la valeur du fuseau horaire global, exécutez la commande set comme:

Définir @@ global.Time_zone = 'America / Los_Angeles';

La déclaration ci-dessus définit la valeur globale du fuseau horaire à Los Angeles. Confirmer avec la commande SELECT:

Sélectionner @@ global.fuseau horaire;

Sortir:

Vous pouvez également définir le fuseau horaire en tant que valeur de décalage UTC.

Définir @@ global.Time_zone = '+3: 00';

MySQL Set Timezone - Méthode 3

La méthode finale que vous pouvez utiliser pour modifier le fuseau horaire du serveur est en modifiant le fichier de configuration du serveur.

Ouvrez le fichier de configuration MySQL (mon.CNF ou mon.Ini) avec votre éditeur de texte préféré. Dans la section [mysqld], localisez l'entrée:

Default-time-zone = "

Modifiez cette valeur dans votre fuseau horaire cible:

Default-Time-zone = 'America / Los_Angeles'

Enregistrez le fichier et redémarrez le serveur.

Cela devrait charger le nouveau fuseau horaire.

Conclusion

Dans cet article, nous avons discuté des différentes méthodes et techniques pour configurer le fuseau horaire dans le serveur MySQL à différents niveaux.

Merci d'avoir lu!!