MySQL 8.0 – SET PERSIST

Fala galera. MySQL 8 DMR foi disponibilizado hohe e ele traz algumas novas funcionalidades bem legais. Uma delas é a habilidade de persistir variáveis/configurações entre restart’s. Essa opção é bastante interessante se trocamos variáveis dinâmicas. Isso nos poupa de ter que editar o arquivo .cnf toda a vez que executamos um SET no MySQL(Ou mesmo quando não temos acesso aos arquivos no disco).
A nova sintaxe para o comando é a seguinte:

SET PERSIST option=value;
SET @@persist.option=value;

O MySQL vai criar um arquivo chamado mysqld-auto.cnf. Este arquivo estará localizado na pasta do datadir. Este arquivo irá conter todas as variáveis que foram setadas com o PERSIST e este arquivo será carregado depois de todos os outos (my.cnf / –defaults-file / ~/.my.cnf / …). Isto quer dizer que as variáveis configuradas neste arquivo vão prevalecer perante as demais.

Estas configurações podem ser removidas restaurando seu valor para o valor padrão ou editando o arquivo manualmente no disco(não recomendado).

A funcionalidade pode ser controlada pela configuração persisted-globals-load. Ela é ativado por default. Case seja setada para off (persisted-globals-load=OFF) o MySQL irá ignorar as variáveis presentes no arquivo mysqld-auto.cnf.

As variáveis poderão ser listadas na tabela performance_schema.variables_info . Na coluna variable_source podemos filtrar a origem do valor:

  • COMPILED – Compilada no source do MySQL(Valores padrões)
  • GLOBAL – Parte do arquivo glogal
  • SERVER – Parte do arquivo $MYSQL_HOME/my.cnf file
  • EXPLICIT – Parte do arquivo setado pela opção –defaults-file
  • EXTRA – Parte do arquivo setado pela opçãodefaults-extra-file
  • USER – Parte do arquivo ~/.my.cnf
  • LOGIN – Parte da opção de login path
  • COMMAND_LINE – Opções setadas na linha de comando
  • PERSISTED – Parte das configurações do arquivo mysqld-auto.cnf
  • DYNAMIC – Configurações alteradas dinamicamente

Com estas opções, podemos extrair informações importantes da tabela, como por exemplo, todas as configurações alteradas depois que o servidor foi iniciado:

select * from performance_schema.variables_info where variable_source like 'DYNAMIC';

MySQL 8.0 está disponível para Download no http://dev.mysql.com/downloads/mysql/8.0.html. Tenha em mente que está é uma versão que deve ser usada para teste e não deve ser utilizada em produção. AINDA!

Testem o MySQL 8.0 e digam o que acharam.

Gostou ? Ajude e Compartilhe!
Esta entrada foi publicada em MySQL. Adicione o link permanente aos seus favoritos.