In dit artikel bespreken we hoe u de MySQL-tijdzone kunt wijzigen op uw server, zodat gegevens die in uw databases zijn opgeslagen standaard de tijdzone gebruiken die u hebt opgegeven.
Vaak zal uw lokale tijdzone anders zijn dan de tijdzone van de MySQL-server, en dit kan het werken met gegevens in uw databases moeilijker voor u maken. Met behulp van de volgende stappen kunt u de tijdzone van uw MySQL-server bijwerken zodat deze overeenkomt met die van u om het werken met deze gegevens gemakkelijker te maken.
Deze wijziging vereist root-toegang tot een VPS (Virtual Private Server) of dedicated serverhostingplan, of u kunt contact opnemen met onze ondersteuningsafdeling om dit op uw server te laten wijzigen. Mogelijk moet u ook gewoon weten hoe u MySQL-tijd kunt converteren, waarvoor geen root-toegang nodig is en op een gedeelde server kan worden gedaan.
De tijdzone wijzigen in MySQL
- Log in op uw server via SSH als rootgebruiker.
- Je kunt de huidige tijdzone-instellingen van MySQL bekijken met de volgende opdracht vanaf de console:
mysql -e "SELECT @@global.time_zone;"
Standaard zou u iets terug moeten krijgen dat lijkt op:+--------------------+ | @@global.time_zone | +--------------------+ | SYSTEM | +--------------------+
Dit komt omdat uw MySQL-tijdzone standaard is ingesteld op het standaard SYSTEEM van de server tijd. Als u geïnteresseerd bent in het wijzigen van de tijdzone van de hele server, kunt u dit doen door de tijdzone in WHM in te stellen. - Je kunt het SYSTEEM . van de server zien tijdstempel met het volgende commando:
date
Welke zal teruggeven:Mon Nov 26 12:50:07 EST 2012
- U kunt de huidige tijdstempel zien die wordt gerapporteerd door de MySQL-server met het volgende commando:
mysql -e "SELECT NOW();"
Dit zou de huidige tijdstempel moeten teruggeven:+---------------------+ | NOW() | +---------------------+ | 2012-11-26 12:50:15 | +---------------------+
- Je kunt nu je MySQL-configuratiebestand bewerken met je favoriete teksteditor:
vi /etc/my.cnf
Voeg vervolgens de volgende regel toe om te veranderen van EST (GMT -5:00 ) naar CST (GMT -6:00 ):default-time-zone = '-06:00'
Sla nu de /etc/my.cnf . op bestand met uw nieuwe standaard.
- Om de wijziging actief te maken, moet u de MySQL-service opnieuw starten met de volgende opdracht:
service mysql restart
- Als je nu de globale tijdzone-instelling opnieuw probeert te zien met het commando:
mysql -e "SELECT @@global.time_zone;"
U zou nu uw nieuwe standaard moeten terugkrijgen:+--------------------+ | @@global.time_zone | +--------------------+ | -06:00 | +--------------------+
- Je zou nu ook moeten zien dat de NOW() functie is ook bijgewerkt:
mysql -e "SELECT NOW();"
Dit zou de huidige tijdstempel moeten teruggeven:+---------------------+ | NOW() | +---------------------+ | 2012-11-26 11:50:15 | +---------------------+
U zou nu moeten weten hoe u de tijdzone-instelling van de MySQL-server moet bijwerken, zodat u er zeker van kunt zijn dat de gegevens die in databases zijn opgeslagen, gemakkelijk voor u zijn om mee te werken. U kunt ook benoemde tijdzones gebruiken in plaats van de GMT -6:00 formaat, maar hiervoor moet u eerst de tijdzonetabellen laden in de mysql databank. Meer informatie hierover is te vinden op de MySQL-site over mysql_tzinfo_to_sql en het laden van de tijdzonetabellen.