Set de base de données MySQL fuseau horaire de GMT
J'ai besoin de changer le fuseau horaire d'une base de données unique est-ce possible?
Je sais que nous pouvons changer le fuseau horaire à l'intérieur de notre WHM (nous sommes à l'aide d'un serveur dédié à partir de hostgator), cependant un grand nombre de logiciels existants en cours d'exécution sur le serveur a beaucoup de +6 heures de codage (c'est à dire le serveur de fuseau horaire est CST, nous avons voulu que le temps de GMT donc précédents développeurs modifiée date/temps de le faire manuellement dans le code du mal!).
Je suis en train de travailler sur un nouveau logiciel et que vous souhaitez tout en GMT, je sais que je peux utiliser date_default_timezone_set('EME') cependant cela ne résoudra pas MySQL insère où la colonne datetime est fixé à CURRENT_TIMESTAMP comme il va insérer @ CST fuseau horaire.
OriginalL'auteur buzzmonkey | 2012-12-17
Vous devez vous connecter pour publier un commentaire.
Non, il n'est pas possible de changer le fuseau horaire pour une seule base de données au sein d'une instance MySQL.
Vous pouvez récupérer le serveur et le client
time_zone
paramètres:Vous pouvez également modifier le fuseau horaire du client, ou le fuseau horaire pour l'ensemble de l'instance MySQL.
Mais être CONSCIENT de l'implication qui a sur les connexions existantes, et la façon dont DATETIME et TIMESTAMP valeurs déjà stockées dans l'instance va être interprété.
D'avoir le serveur time_zone fixé à MySQL instance de démarrage, modifier la
/etc/my.cnf
fichier (ou partout où votre instance mysql paramètres d'initialisation sont lues), en vertu de la section [mysqld]:-- ou --
ajouter le
--default_time_zone='+00:00'
option pour mysqld_safeREMARQUE: la Modification du fuseau horaire réglage sur le serveur MySQL ne change PAS les valeurs stockées dans l'existant DATETIME ou TIMESTAMP colonnes, MAIS depuis qu'il a effectivement changer le contexte dans lequel ces valeurs stockées sont interprétés, il ressemblera à toutes les valeurs SONT décalées. (Où 08:00 signifie 8H CST, avec la time_zone du serveur a changé à partir de la CST à l'heure GMT, que même "08:00' va maintenant être pris à 8H GMT, ce qui serait effectivement 2H du matin, CST.
Également garder à l'esprit que les colonnes TIMESTAMP sont toujours stockés en UTC, tandis que les colonnes DATETIME n'ont pas de fuseau horaire.
http://dev.mysql.com/doc/refman/5.5/en/datetime.html
Chaque session d'un client peut changer le fuseau horaire pour leur propre session:
Mais rien de tout cela vraiment "résout" le fuseau horaire problème de conversion, il déplace juste le problème de conversion autour de.
Il n'y a rien d'intrinsèquement "mauvais" avec l'application de la couche de manutention fuseau horaire conversions; parfois, c'est le meilleur endroit pour gérer. Il vient d'être fait correctement et systématiquement.
(Ce qui est étrange à propos de la configuration que vous décrivez est que l'application est de stocker des valeurs DATETIME comme si le serveur MySQL time_zone est réglé sur l'heure GMT, mais le serveur MySQL time_zone est autre chose.)
Réglage du fuseau horaire='-06:00'; doit être DÉFINIE time_zone='-06:00';
OriginalL'auteur spencer7593
Si vous ne pouvez pas modifier votre fuseau horaire, vous pouvez changer le résultat.
date 2015-01-05 12:06:16
date 2015-01-05 14:06:16
OriginalL'auteur Can Bezmen