bem, não todos , a supressão ocorre para alguns que contêm strings como "senha".
mckenzm
1
Ele também não costuma estar atualizado com sua CLI MySQL aberta, portanto, é provável que você tenha que fazer o exitMySQL e ler o arquivo.
Joel Mellon
1
Isso mostra apenas os comandos executados pelo usuário que está conectado.
Christia
1
Como fazer isso no windows
ßiansor Å. Ålmerol
Existe a possibilidade de que outros comandos sejam suprimidos ou que estejam desordenados? E o log se atualiza em tempo real?
Drubio
32
Para MySQL> 5.1.11 ou MariaDB
SET GLOBAL log_output = 'TABLE';
SET GLOBAL general_log = 'ON';
Dê uma olhada na mesa mysql.general_log
Se você deseja gerar um arquivo de log:
SET GLOBAL log_output = "FILE";
SET GLOBAL general_log_file = "/path/to/your/logfile.log"
SET GLOBAL general_log = 'ON';
Conforme mencionado por jeffmjack nos comentários, essas configurações serão esquecidas antes da próxima sessão, a menos que você edite os arquivos de configuração (por exemplo /etc/mysql/my.cnf, edite e reinicie para aplicar as alterações).
Agora, se você quiser, pode tail -f /var/log/mysql/mysql.log
Apenas alguns esclarecimentos para o acima: Os comandos de copiar e colar aqui são para uma única sessão do MySQL, por exemplo, você pode inseri-los na linha de comando interativa do MySQL. Se você quiser que eles sejam um recurso permanente de sua instância do MySQL, você precisa colocar esses comandos em /etc/mysql/my.cnf e reiniciar o serviço MySQL.
jeffmjack
Observe também que o registro será interrompido se /path/to/your/logfile.logfor excluído, até que você execute SET GLOBAL general_log_file = "/path/to/your/logfile.log";novamente (ou talvez reinicie a sessão se você editou a configuração?).
Skippy le Grand Gourou
21
(Linux) Abra o seu Terminal e ctrl+alt+t
execute o comando
cat ~/.mysql_history
você obterá todo o histórico de consultas do mysql anterior, aproveite :)
Mas o MySQL Query Browser muito provavelmente mantém sua própria lista de consultas que executa, fora do mecanismo do MySQL. Você teria que fazer o mesmo em seu aplicativo.
Respostas:
experimentar
isso irá mostrar a você todos os comandos mysql executados no sistema
fonte
exit
MySQL e ler o arquivo.Para MySQL> 5.1.11 ou MariaDB
SET GLOBAL log_output = 'TABLE';
SET GLOBAL general_log = 'ON';
mysql.general_log
Se você deseja gerar um arquivo de log:
SET GLOBAL log_output = "FILE";
SET GLOBAL general_log_file = "/path/to/your/logfile.log"
SET GLOBAL general_log = 'ON';
Conforme mencionado por jeffmjack nos comentários, essas configurações serão esquecidas antes da próxima sessão, a menos que você edite os arquivos de configuração (por exemplo
/etc/mysql/my.cnf
, edite e reinicie para aplicar as alterações).Agora, se você quiser, pode
tail -f /var/log/mysql/mysql.log
Mais informações aqui: Variáveis de sistema do servidor
fonte
/path/to/your/logfile.log
for excluído, até que você executeSET GLOBAL general_log_file = "/path/to/your/logfile.log";
novamente (ou talvez reinicie a sessão se você editou a configuração?).(Linux) Abra o seu Terminal e
ctrl+alt+t
execute o comandovocê obterá todo o histórico de consultas do mysql anterior, aproveite :)
fonte
Você vai encontrar lá
Você o tornará legível (sem os escapes) assim:
fonte
Veja
~/.myslgui/query-browser/history.xml
aqui você pode encontrar as últimas consultas feitas commysql_query_browser
(alguns dias atrás)fonte
Você pode ver o histórico de ~ / .mysql_history. No entanto, o conteúdo do arquivo é codificado por wctomb. Para visualizar o conteúdo:
shell> cat ~ / .mysql_history | python2.7 -c "import sys; print (''. join ([l.decode ('unicode-escape') para l em sys.stdin]))"
Fonte: verificar o histórico de consultas do MySQL na linha de comando
fonte
Você pode olhar o cache de consulta: http://www.databasejournal.com/features/mysql/article.php/3110171/MySQLs-Query-Cache.htm, mas pode não lhe dar acesso às consultas reais e será muito acertar e errar se funcionou (trocadilho sutil intencional)
Mas o MySQL Query Browser muito provavelmente mantém sua própria lista de consultas que executa, fora do mecanismo do MySQL. Você teria que fazer o mesmo em seu aplicativo.
Edit: veja o comentário de dan m levando a isto: Como mostrar as últimas consultas executadas no MySQL? parece bom.
fonte