Listando todas as variáveis do MySQL
- Com a query abaixo você consegue visualizar, por exemplo, quantas conexões seu usuário pode fazer (max_user_connection) e qual o tamanho máximo de um arquivo (casos de campos do tipo BLOB) a ser enviado (max_allowed_packet).
SHOW VARIABLES;
- É possível filtrar os nomes das variáveis também, por exemplo:
SHOW VARIABLES LIKE '%connection%';
- A query acima mostrará apenas as variáveis que contenham ‘connection’ no nome.
Alterando valores de uma variável
- Em alguns casos é possível que se altere o valor de uma variável, mas a alteração será válida somente para a sessão (conexão) atual.
- Quando você abrir uma outra conexão ou desconectar e conectar novamente, a nova conexão sempre carregará os valores padrões.
- Sintaxe da query de alteração:
SET nome_da_variavel = novo_valor;
Exemplo:
SET table_type = InnoDB;
- Este exemplo altera o padrão das tabelas a serem criadas de MyISAM (padrão Locaweb) para InnoDB.
- Para saber se uma variável pode ser alterada, ou se ela foi alterada (baseada no exemplo acima), rode:
-- Veja primeiro o valor atual da variável. SHOW VARIABLES LIKE 'table_type'; -- Altere para o valor desejado. SET table_type = InnoDB; -- E veja novamente o valor da variável. SHOW VARIABLES LIKE 'table_type';
- Não são todas as variáveis que podem ser alteradas, as que exigem um SET GLOBAL somente o usuário ‘root’ ou outro com mais privilégios terá condições de alterá-la.
- A Locaweb não altera o valor das variáveis globais no servidor (as que exigem SET GLOBAL), pois impactará diretamente nas outras bases que estão sob o mesmo servidor.
- Clientes dos planos com Gerenciamento pela Locaweb podem solicitar estas alterações criando um chamado no Help Desk.
Visualizando as conexões ativas
- A query que fará você visualizar as conexões do seu usuário ativas será
SHOW PROCESSLIST;
- Ela retornará valores como PID (número do processo da conexão), a quantidade de conexões do seu usuário à base, a query que a conexão está rodando no momento ou se ela está ociosa (sleep).
Derrubando conexões e processos presos
- Caso se depare com problemas de conexão presa;
- Ou seu usuário esteja usando todas as conexões disponíveis para ele, a query abaixo derrubará a conexão que você escolher:
Sintaxe:
KILL <numero_PID>;
- O PID você obtém rodando SHOW PROCESSLIST (exemplo do tópico anterior).
Exemplo:
KILL 2552;