É possível ver quais comandos sql estão sendo executados na minha máquina CentOS?

É possível ver quais comandos sql estão sendo executados na minha máquina CentOS?

Comprei um programa que roda na minha máquina CentOS. Está escrito em PHP. Ele usa um banco de dados MYSQL.

Uma das funções do programa é cadastrar novos usuários. Ele usa uma consulta SQL para adicionar os usuários. Quero escrever um programa python que também possa adicionar usuários a esse banco de dados, mas não sei quais propriedades e tabelas ele adiciona (é um banco de dados bastante grande).

É possível monitorar de alguma forma quais consultas SQL este programa está enviando para o MYSQL?

Responder1

Existem duas maneiras de fazer isso, a mais simples (e talvez não seja boa o suficiente) e a mais complicada, que lhe dará 100% o que você procura.

  1. Mais simples é apenas procurar as consultas na hora certa enquanto elas estão sendo executadas com SHOW FULL PROCESSLISTo comando. Isso mostrará as consultas, mas se a ação (consulta SQL que você está procurando) raramente for executada, você terá que esperar muito tempo e emitir o comando acima com frequência para obter o resultado desejado. Também existe uma maneira melhor.

  2. Inicie o MySQL com o log habilitado e então você poderá ver todas as consultas SQL a partir da reinicialização do servidor MySQL. O problema aqui é que o arquivo de log pode ser muito grande e pode levar muito tempo para inexperientes encontrarem o que você está procurando, mas essa abordagem geralmente é melhor. A opção é simples:

mysqld --log=name_of_log_file.log

É simples assim.

Apenas um aviso: quando você encontrar o que procurava, reinicie o MySQL, mas desta vez com o log desabilitado, pois isso irá acelerar o banco de dados e não ocupará espaço em disco no seu servidor.

Responder2

Para ver quais consultas MySQL estão sendo executadas em qualquer plataforma com mysql.

A consulta MySQL é como abaixo,

  • SHOW FULL PROCESSLISTpara obter informações detalhadas.
  • SHOW PROCESSLISTpara consultas atualmente sendo processadas.

Abra # mysqlno terminal.

mysql> SHOW FULL PROCESSLIST;

mysql> SHOW PROCESSLIST;

para obter mais documentação, dê uma olhada emlista de processos de exibição.

informação relacionada