Come faccio a impostare il fuso orario di MySQL?
Il tuo fuso orario locale potrebbe differire dal fuso orario MySQL del tuo server. Ciò rende molto difficile interpretare i dati nel database. Idealmente, il fuso orario di MySQL dovrebbe essere lo stesso del tuo per gestire i dati in modo più efficiente.
Questa guida ti aiuterà a cambiare il fuso orario sul tuo server MySQL rendendo più semplice e intuitiva la lettura dei log del server e di altri dati.
Prerequisiti
- Un account utente con privilegi di root o sudo
- Un server Linux che esegue MySQL
- Un account utente root per il database MySQL
- Una finestra di terminale/riga di comando (Ctrl-Alt-T, Cerca> Terminale)
- Una connessione SSH al tuo server (se funziona in remoto)
Trova il fuso orario corrente di MySQL
Aprire una finestra del terminale. Se lavori in remoto, connettiti al tuo server tramite SSH, usando root.
Immettere quanto segue per controllare il fuso orario globale corrente in MySQL:
sudo mysql –e “SELECT @@global.time_zone;”
Per impostazione predefinita, il sistema visualizzerà un valore di SISTEMA per il tuo fuso orario. Ciò indica che il fuso orario in MySQL è sincronizzato con il fuso orario del server.
Per visualizzare un timestamp dal server, inserisci quanto segue:
date
Il sistema dovrebbe visualizzare la data, l'ora e il fuso orario del server. Ad esempio,
Tue Jan 21 11:33:35 MST 2020
Il fuso orario è indicato dal codice della lettera. In questo caso, è impostato su Mountain Standard Time (MST).
Visualizza un timestamp dal server MySQL:
sudo mysql –e “SELECT NOW();”
Il sistema dovrebbe visualizzare l'ora corrente in MySQL.
Cambiare il fuso orario in MySQL
Opzione 1:usa il comando SET GLOBAL time_zone
Usa questa opzione per impostare un nuovo valore GMT per il fuso orario MySQL globale del server:
sudo mysql -e "SET GLOBAL time_zone = ‘-6:00’;"
Invece di -6:00
, inserisci il valore GMT che desideri. Se eseguito correttamente, non c'è output di risposta.
Controlla il nuovo valore dell'impostazione del fuso orario MySQL del tuo server:
sudo mysql -e "SELECT @@global.time_zone;"
Dopo aver modificato il fuso orario, la data e l'ora precedentemente memorizzati non vengono aggiornati.
Opzione 2:modifica il file di configurazione MySQL
Le impostazioni di MySQL possono essere modificate modificando il my.cnf principale file di configurazione. Apri il file per la modifica:
sudo nano /etc/mysql/my.cnf
Scorri verso il basso fino a [mysqld]
sezione e trova il default-time-zone = "+00:00"
linea. Modifica il +00:00
valore al valore GMT per il fuso orario desiderato. Salva il file ed esci.
Nell'esempio seguente impostiamo il fuso orario di MySQL Server a +08:00
(GMT +8).
Riavvia il server MySQL per applicare le modifiche:
sudo service mysql restart
Controlla di nuovo il fuso orario e l'ora corrente:
sudo mysql –e “SELECT @@global.time_zone;”
sudo mysql –e “SELECT NOW();”