Como definir o fuso horário em mysql

Como definir o fuso horário em mysql
“Trabalhar com o tempo é uma das coisas mais desafiadoras que você encontrará como desenvolvedor. Embora as principais linguagens de programação forneçam ferramentas e recursos para facilitar isso, os bancos de dados exigem que você realize a formatação de tempo manualmente.

Neste tutorial, tentaremos fazer o processo de trabalho com fusos horários em bancos de dados, mostrando como definir um fuso horário nos bancos de dados MySQL. Embora isso não resolva completamente como você trabalha com o tempo, ajudará você a entender vários conceitos sobre fusos horários em MySQL e outros bancos de dados relacionais.”

Vamos explorar.

MySQL Set Fuzone - Método 1

Você pode usar vários métodos para definir e configurar o fuso horário em um servidor MySQL. O primeiro é definir o fuso horário na variável de sessão.

MySQL fornece a você a sessão @@.Time_Zone Variable, que armazena o fuso horário atual da sessão atualmente em execução.

Cada sessão que se conecta ao servidor MySQL recebe sua configuração de fuso horário da sessão. Por padrão, esse valor é definido como o valor global do fuso horário.

Portanto, se você deseja modificar o fuso horário da sua sessão atual sem afetar outras sessões conectadas ao servidor, essa é a variável que você altera.

Você pode visualizar o fuso horário atual da sua sessão buscando o valor armazenado por esta variável. Um exemplo de consulta é mostrado abaixo:

Selecione @@ sessão.fuso horário;

Executar a consulta acima deve retornar a saída como mostrado:

Nesse caso, podemos ver que a sessão atual usa o fuso horário definido no arquivo de configuração do MySQL. Pode ser necessário configurar tabelas de informações do fuso horário em MySQL se precisar buscar os nomes reais do fuso horário.

Tenha cuidado ao realizar modificações nos fusos horários do sistema, especialmente em sistemas Unix. Você pode aprender mais sobre a configuração do fuso horário no recurso abaixo:

https: // dev.mysql.com/doc/refman/8.0/en/time-zon-suport.html

Para definir o fuso horário da sua sessão atual, você pode usar o comando set seguido pelo nome da variável e pelo fuso horário de destino.

Por exemplo, para definir o fuso horário da sessão atual para Los Angeles, podemos executar a consulta como mostrado:

Defina @@ sessão.time_zone = 'America/Los_angeles';

NOTA: Definir o fuso horário usando o nome do fuso horário requer que o sistema inclua fusos horários. Por padrão, os sistemas semelhantes a Unix incluem os arquivos ZoneInfo usados ​​para informações sobre fugas temporais. No Windows, pode ser necessário instalar as informações do fuso horário para o seu servidor manualmente.

Você também pode definir o fuso horário usando um valor de deslocamento como mostrado:

Defina @@ sessão.time_zone = '-7: 00';

Finalmente, você pode confirmar o fuso horário da sessão atual como:

Selecione @@ sessão.fuso horário;

Saída resultante:

MySQL Set Fuzone Time - Método 2

O segundo método que você pode usar para definir o fuso horário em seu servidor MySQL é editando a variável global do fuso horário.

Ao contrário da sessão @@.Time_Zone Variable, que é limitada a uma sessão específica, o @@ global.Time_Zone variável é adotada em todas as sessões.

Você pode verificar o valor global do fuso horário, como mostrado:

Selecione @@ global.fuso horário;

Por padrão, o valor do fuso horário global é definido para o sistema, conforme definido no arquivo de configuração do servidor.

Para modificar o valor do fuso horário global, execute o comando set como:

set @@ global.time_zone = 'America/Los_angeles';

A declaração acima define o valor global do fuso horário para Los Angeles. Confirme com o comando SELECT:

Selecione @@ global.fuso horário;

Saída:

Você também pode definir o fuso horário como um valor de deslocamento da UTC.

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

MySQL Set Fuzone Time - Método 3

O método final que você pode usar para modificar o fuso horário do servidor é editando o arquivo de configuração do servidor.

Abra o arquivo de configuração do MySQL (meu.CNF ou meu.ini) com seu editor de texto favorito. Na seção [MySqld], localize a entrada:

Padrão-tempo-zone = "

Altere esse valor para o seu fuso horário de destino:

Zone de tempo padrão = 'America/Los_angeles'

Salve o arquivo e reinicie o servidor.

Isso deve carregar o novo fuso horário.

Conclusão

Neste post, discutimos os vários métodos e técnicas para configurar o fuso horário no servidor MySQL em vários níveis.

Obrigado pela leitura!!