MySQL Zeit

  • Hey ihr,


    ich komm einfach nicht bei diesem einem Problem weiter:


    Es wird in MySQL immer 2010-05-02 12:53:14 ausgegeben, obwohl es 2010-05-02 14:53:14 sein müsste.


    Der Wert kommt von CURRENT_TIMESTAMP.


    Es müsste ja an der Zeitzone liegen denk ich oder?


    Wisst ihr wie man das ändert?


    Grüße und danke schon einmal <3

  • Vorab: Die Server Zeitzone stellt man (ich) immer auf '+0:00', da es Sache des Clients ist, die Anzeige der Zeit an einen Benutzer anzupassen! Ansonsten viel Spass falls die Anwendung mal weltweit genutzt werden sollte...

    Zitat von Stef-Mar;18759
    Code
    [B]SET GLOBAL time_zone = [I]'+2:00'[/I];[/B]

    Schon versucht bringt leider nichts =/


    Und es funktioniert sehr wohl

    Code
    >mysql -u root -p
    Enter password:
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 18495
    Server version: 5.0.77 Source distribution
    mysql> set  global time_zone='+0:00';

    Dies wirkt sich NICHT auf bereits geöffnete Verbindungen aus!


    Deswegen, abmelden und nun die Zeit abfragen:

    Code
    >mysql -u xyz -p
    Enter password:
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 18495
    Server version: 5.0.77 Source distribution
    mysql> select now();

    Bebbo

  • Falls jemand trotzdem die Server-Zeitzone ändern möchte, es geht super mit:


    dpkg-reconfigure tzdata


    (zumindest auf meinem Ubuntu-Server hat das super funktioniert)

  • OK, dann ist es ähnlich meinem Problem, jedoch mit PHP. Ich vermute mal, du hattest zuerst MySQL aufgesetzt und dann die Serverzeitzone geändert. Das würde bedeuten, dass MySQL und PHP diese Zeitzonenänderung bei der Installationsroutine anziehen, in die Configs schreiben. Bei einer Änderung der Serverzeitzone bemerken MySQL und PHP dann nichts mehr. Falls also jemand weiß, wo man das jeweils eintragen muss, wäre ich auch sehr dankbar ;)

  • Hab grad doch noch was gefunden. Für alle, die es interessiert:
    Seit PHP 5.1 wird nicht die Serverzeitzone angezogen, sondern sie wird in der php.ini gepflegt.


    [Date]
    ; Defines the default timezone used by the date functions
    date.timezone = Europe/Berlin


    Ichvermute mal, dass es in MySQL eine ähnliche Einstellung gibt.

  • Zitat von whoozy;18869

    Ichvermute mal, dass es in MySQL eine ähnliche Einstellung gibt.


    Und genau diese wurde dir in diesem Thread schon mehrfach gezeigt, scroll einfach rauf.
    Auch mit dem Hinweis, dass sie beim Ändern die aktuelle Verbindung nicht beeinflusst ;)



    MfG Christian

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)