Hvordan sette tidssone i mysql

Hvordan sette tidssone i mysql
“Å jobbe med tiden er noe av det mest utfordrende du vil møte som utvikler. Selv om store programmeringsspråk gir verktøy og funksjoner for å gjøre dette enklere, krever databaser at du utfører tidsformatering manuelt.

I denne opplæringen vil vi prøve å gjøre prosessen med å jobbe med tidssoner i databaser ved å vise deg hvordan du angir en tidssone i MySQL -databaser. Selv om dette ikke fullt ut vil løse hvordan du jobber med tiden, vil det hjelpe deg å forstå forskjellige konsepter om tidssoner i MySQL og andre relasjonsdatabaser.”

La oss utforske.

MySQL Set TimeZone - Metode 1

Du kan bruke forskjellige metoder for å angi og konfigurere tidssonen i en MySQL -server. Den første setter tidssonen i øktvariabelen.

MySQL gir deg @@ økten.TIME_ZONE -variabel, som lagrer den nåværende tidssonen til den for øyeblikket løpende økten.

Hver økt som kobles til MySQL -serveren tildeles sin økt tidssoneinnstilling. Som standard er denne verdien satt til den globale tidssonverdien.

Derfor, hvis du vil endre tidssonen til din nåværende økt uten å påvirke andre økter koblet til serveren, er dette variabelen du endrer.

Du kan se gjeldende tidssone for økten din ved å hente verdien som er lagret av denne variabelen. Et eksempel på spørring vises nedenfor:

Velg @@ Session.tidssone;

Å kjøre spørringen ovenfor skal returnere utdataene som vist:

I dette tilfellet kan vi se at den aktuelle økten bruker tidssonen som er definert i MySQL -konfigurasjonsfilen. Det kan hende du må sette opp informasjonstabeller.

Vær forsiktig når du utfører modifikasjoner i systemets tidssoner, spesielt på UNIX -systemer. Du kan lære mer om tidssonkonfigurasjon i ressursen nedenfor:

https: // dev.mysql.com/doc/refman/8.0/EN/Tidssonesupport.html

For å angi tidssone for din nåværende økt, kan du bruke den angitte kommandoen etterfulgt av variabelnavnet og måletidssonen.

For å sette den nåværende økt tidssonen til Los Angeles, kan vi for eksempel kjøre spørringen som vist:

sett @@ økt.TIME_ZONE = 'America/Los_angeles';

Merk: Innstilling av tidssone ved hjelp av tidssone -navnet krever at systemet inkluderer tidssoner. Som standard inkluderer UNIX-lignende systemer soneinfo-filer som brukes til tidssoneinformasjon. På Windows kan det hende du må installere tidssoneinformasjonen for serveren din manuelt.

Du kan også angi tidssonen ved å bruke en forskyvningsverdi som vist:

sett @@ økt.time_zone = '-7: 00';

Til slutt kan du bekrefte den nåværende økt tidssonen som:

Velg @@ Session.tidssone;

Resulterende utgang:

MySQL Set TimeZone - Metode 2

Den andre metoden du kan bruke til å stille inn tidssonen i MySQL -serveren din er ved å redigere den globale tidssone -variabelen.

I motsetning til @@ økten.TIME_ZONE -variabel, som er begrenset til en bestemt økt, @@ Global.TIME_ZONE -variabel blir adoptert på tvers av alle økter.

Du kan sjekke den globale tidssoneverdien som vist:

Velg @@ Global.tidssone;

Som standard er verdien av den globale tidssonen satt til systemet som definert i serverkonfigurasjonsfilen.

For å endre verdien av den globale tidssonen, kjør den angitte kommandoen som:

sett @@ global.TIME_ZONE = 'America/Los_angeles';

Ovennevnte uttalelse setter den globale tidssoneverdien til Los Angeles. Bekreft med SELECT -kommandoen:

Velg @@ Global.tidssone;

Produksjon:

Du kan også angi tidssonen som en UTC -forskyvningsverdi.

sett @@ global.time_zone = '+3: 00';

MySQL Set Timezone - Metode 3

Den endelige metoden du kan bruke for å endre serveren TimeZone er ved å redigere serverkonfigurasjonsfilen.

Åpne MySQL -konfigurasjonsfilen (min.CNF eller min.ini) med din favoritt tekstredigerer. I delen [MySQLD], finn oppføringen:

Standard-time-sone = "

Endre denne verdien til måltidssonen din:

Standard-tidssone = 'America/Los_angeles'

Lagre filen og start serveren på nytt.

Dette skal laste den nye tidssonen.

Konklusjon

I dette innlegget diskuterte vi de forskjellige metodene og teknikkene for å konfigurere tidssonen i MySQL -serveren på forskjellige nivåer.

Takk for at du leste!!