Mysql
 sql >> Base de données >  >> RDS >> Mysql

SQLSTATE[HY000] :erreur générale :1298 Fuseau horaire inconnu ou incorrect :fenêtres 'UTC'

Vous avez trois façons de résoudre ce problème.

Le mysql_tzinfo_to_sql programme charge les tables de fuseaux horaires dans la base de données mysql. Il est utilisé sur les systèmes qui ont une base de données zoneinfo (l'ensemble de fichiers décrivant les fuseaux horaires). Des exemples de tels systèmes sont Linux, FreeBSD, Solaris et OS X. Un emplacement probable pour ces fichiers est le répertoire /usr/share/zoneinfo (/usr/share/lib/zoneinfo sur Solaris). Si votre système n'a pas de base de données zoneinfo, vous pouvez utiliser le package téléchargeable décrit dans la Section 11.6, « Prise en charge du fuseau horaire de MySQL Server ».

mysql_tzinfo_to_sql peut être invoqué de plusieurs manières :

shell> mysql_tzinfo_to_sql tz_dir
shell> mysql_tzinfo_to_sql tz_file tz_name
shell> mysql_tzinfo_to_sql --leap tz_file

Pour la première syntaxe d'invocation, passez le nom du chemin du répertoire zoneinfo à mysql_tzinfo_to_sql et envoyer la sortie dans le mysql programme. Par exemple :

shell> mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql

mysql_tzinfo_to_sql lit les fichiers de fuseau horaire de votre système et génère des instructions SQL à partir de ceux-ci. mysql traite ces instructions pour charger les tables de fuseaux horaires.

La deuxième syntaxe provoque mysql_tzinfo_to_sql pour charger un seul fichier de fuseau horaire tz_file qui correspond à un nom de fuseau horaire tz_name :

shell> mysql_tzinfo_to_sql tz_file tz_name | mysql -u root mysql

Si votre fuseau horaire doit tenir compte des secondes intercalaires, appelez mysql_tzinfo_to_sql en utilisant la troisième syntaxe, qui initialise les informations de seconde intercalaire. tz_file est le nom de votre fichier de fuseau horaire :

shell> mysql_tzinfo_to_sql --leap tz_file | mysql -u root mysql

Après avoir exécuté mysql_tzinfo_to_sql , il est préférable de redémarrer le serveur afin qu'il ne continue pas à utiliser les données de fuseau horaire précédemment mises en cache.

source :https://dev.mysql .com/doc/refman/5.7/en/mysql-tzinfo-to-sql.html

default-time-zone = +0:00
# default-time-zone = UTC

Cela lui fera hériter du fuseau horaire du système d'exploitation à la place.