Como finalizar conexões inativas do MySQL

Escrito por mark pool | Traduzido por monique monteiro
  • Compartilhar
  • Tweetar
  • Compartilhar
  • E-mail

O MySQL é um programa de banco de dados de código aberto projetado para rodar em múltiplas plataformas. Cada banco de dados pode ter várias conexões de entrada. Quando um programa ou usuário se conecta a uma linha ou a uma tabela no banco de dados, os dados que ele está acessando são bloqueados. Isto significa que outro usuário ou o programa não pode acessar os mesmos dados ao mesmo tempo. Os programas são normalmente projetados para armazenar dados em cache para evitar o bloqueio de recursos do banco de dados. No entanto, um script pode ser utilizado para finalizar uma conexão "inativa" e "ociosa", conforme necessário.

Nível de dificuldade:
Moderadamente fácil

Outras pessoas estão lendo

Instruções

  1. 1

    Abra a linha de comando do MySQL utilizando um usuário administrador. No Windows, clique no menu "Iniciar" e digite "cmd.exe" no campo "Pesquisar" e pressione "Enter". Nos sistemas Linux / Unix, abra uma nova janela "Terminal" e digite "su" para acessar a conta "root".

  2. 2

    Digite "mysql" para abrir o prompt de comando do MySQL.

  3. 3

    Digite o seguinte código e pressione "Enter" para incluir linhas adicionais e criar um procedimento:

    DELIMITER %%

    Isso permite que você inclua o texto para o novo script ou procedimento no MySQL.

  4. 4

    Digite as seguintes linhas, pressionando "Enter" após cada uma:

    CREATE PROCEDURE killsleepingconnections() COMMENT 'Script to kill sleeping connections' READS SQL DATA

    Estas linhas definem o nome do procedimento "killsleepingconnections" e incluem uma descrição para ele. Você pode substituir o nome do procedimento por outro nome, se você preferir.

  5. 5

    Digite as seguintes linhas, pressionando "Enter" após cada uma:

    BEGIN

    DECLARE end_rows BOOLEAN; DECLARE no_loops INT DEFAULT 0; DECLARE rownum INT DEFAULT 0;

    Esse código inicia o script e declara as variáveis para trabalhar com a conexão.

  6. 6

    Digite as seguintes linhas, pressionando "Enter" após cada uma:

    DECLARE cur CURSOR FOR SELECT ID FROM information_schema.PROCESSLIST PL WHERE PL.COMMAND='Sleep' AND PL.TIME > 120;

    DECLARE CONTINUE HANDLER FOR NOT FOUND SET end_rows = TRUE;

    Estas linhas buscam a primeira conexão no banco de dados que estiver ociosa por 120 segundos ou mais. Você pode redefinir o período de inatividade, conforme necessário, apenas substituindo "120" pelo número de segundos que você deseja admitir.

  7. 7

    Digite as seguintes linhas, pressionando "Enter" após cada uma:

    OPEN ucur; select FOUND_ROWS() into rownum;

    loop: LOOP

    IF end_rows THEN CLOSE ucur; LEAVE loop; END IF;

    END%% DELIMITER ;

    Estas linhas finalizam a conexão e concluem a definição do procedimento. O novo procedimento pode ser chamado a partir da interface da linha de comando do MySQL ou do programa de gerenciamento gráfico utilizando o nome definido no início do procedimento.

  8. 8

    Digite o seguinte código para chamar o procedimento a partir da interface da linha de comando do MySQL:

    call killsleepingconnections()

    Isso chamará o procedimento criado nas etapas anteriores e finalizará todas as conexões que estiverem inativas por mais do que dois minutos. O procedimento é permanentemente armazenado no servidor MySQL e pode ser chamado a qualquer momento.

Não perca

Filtro:
  • Geral
  • Artigos
  • Slides
  • Vídeos
Mostrar:
  • Mais relevantes
  • Mais lidos
  • Mais recentes

Nenhum artigo disponível

Nenhum slide disponível

Nenhum vídeo disponível