Come impostare il fuso orario in mysql

Come impostare il fuso orario in mysql
“Lavorare con il tempo è una delle cose più impegnative che incontrerai come sviluppatore. Sebbene i principali linguaggi di programmazione forniscano strumenti e funzionalità per semplificare questo, i database richiedono la formattazione di tempo manualmente.

In questo tutorial, cercheremo di fare il processo di lavoro con zone time in database mostrandoti come impostare un fuso orario nei database MySQL. Anche se questo non risolverà completamente il modo in cui lavori con il tempo, ti aiuterà a capire vari concetti sugli zone di tempo in MySQL e in altri database relazionali."

Esploriamo.

MySQL Set Timezone - Metodo 1

È possibile utilizzare vari metodi per impostare e configurare il fuso orario in un server MySQL. Il primo sta impostando il fuso orario nella variabile di sessione.

MySQL ti fornisce la sessione @@.Variabile time_zone, che memorizza il fuso orario corrente della sessione attualmente in esecuzione.

Ad ogni sessione che si collega al server MySQL viene assegnata l'impostazione del fuso orario di sessione. Per impostazione predefinita, questo valore è impostato sul valore globale del fuso orario.

Pertanto, se si desidera modificare il fuso orario della sessione corrente senza influire su altre sessioni connesse al server, questa è la variabile che si modifica.

È possibile visualizzare il fuso orario corrente per la sessione recuperando il valore memorizzato da questa variabile. Una query di esempio è mostrata di seguito:

Seleziona la sessione @@.fuso orario;

L'esecuzione della query sopra dovrebbe restituire l'output come mostrato:

In questo caso, possiamo vedere che la sessione corrente utilizza il fuso orario definito nel file di configurazione MySQL. Potrebbe essere necessario impostare le tabelle delle informazioni del fuso orario in mysql se è necessario prendere i nomi del fuso orario.

Fai attenzione quando si eseguono modifiche nei fusi orari del sistema, in particolare sui sistemi UNIX. Puoi saperne di più sulla configurazione del fuso orario nella risorsa seguente:

https: // dev.mysql.com/doc/refman/8.0/en/time-zone-support.html

Per impostare il fuso orario per la sessione corrente, è possibile utilizzare il comando set seguito dal nome della variabile e dal fuso orario di destinazione.

Ad esempio, per impostare il fuso orario di sessione in corso su Los Angeles, possiamo eseguire la query come mostrato:

Set @@ sessione.time_zone = 'America/los_angeles';

Nota: l'impostazione del fuso orario utilizzando il nome del fuso orario richiede che il sistema includa fulmine. Per impostazione predefinita, i sistemi simili a UNIX includono file zoneinfo utilizzati per le informazioni sul fuso orario. Su Windows, potrebbe essere necessario installare manualmente le informazioni del fuso orario per il tuo server.

È inoltre possibile impostare il fuso orario utilizzando un valore di offset come mostrato:

Set @@ sessione.time_zone = '-7: 00';

Infine, puoi confermare il fuso orario della sessione corrente come:

Seleziona la sessione @@.fuso orario;

Output risultante:

MySQL Set Timezone - Metodo 2

Il secondo metodo che puoi utilizzare per impostare il fuso orario nel server MySQL è modificando la variabile Global Timezone.

A differenza della sessione @@.Variabile time_zone, che è limitata a una sessione specifica, @@ globale.La variabile time_zone viene adottata in tutte le sessioni.

È possibile controllare il valore del fuso orario globale come mostrato:

Seleziona @@ globale.fuso orario;

Per impostazione predefinita, il valore del fuso orario globale è impostato sul sistema come definito nel file di configurazione del server.

Per modificare il valore del fuso orario globale, eseguire il comando set come:

imposta @@ globale.time_zone = 'America/los_angeles';

L'istruzione di cui sopra imposta il valore del fuso orario globale a Los Angeles. Conferma con il comando seleziona:

Seleziona @@ globale.fuso orario;

Produzione:

Puoi anche impostare il fuso orario come valore di offset UTC.

imposta @@ globale.time_zone = '+3: 00';

MySQL Set Timezone - Metodo 3

Il metodo finale che è possibile utilizzare per modificare il fuso orario del server è modificando il file di configurazione del server.

Apri il file di configurazione MySQL (mio.CNF o mio.ini) con il tuo editor di testo preferito. Nella sezione [mysqld], individua la voce:

default-time-zone = "

Cambia questo valore nel tuo fuso orario target:

Default-Time-Zone = 'America/Los_angeles'

Salva il file e riavvia il server.

Questo dovrebbe caricare il nuovo fuso orario.

Conclusione

In questo post, abbiamo discusso dei vari metodi e tecniche per configurare il fuso orario nel server MySQL a vari livelli.

Grazie per aver letto!!