Monday, January 28, 2019

logging - How to show the last queries executed on MySQL?



Is there any query/way to show the last queries executed on ALL servers?


Answer




For those blessed with MySQL >= 5.1.12, you can control this option globally at runtime:




  1. Execute SET GLOBAL log_output = 'TABLE';

  2. Execute SET GLOBAL general_log = 'ON';

  3. Take a look at the table mysql.general_log



If you prefer to output to a file instead of a table:





  1. SET GLOBAL log_output = "FILE"; the default.

  2. SET GLOBAL general_log_file = "/path/to/your/logfile.log";

  3. SET GLOBAL general_log = 'ON';



I prefer this method to editing .cnf files because:




  1. you're not editing the my.cnf file and potentially permanently turning on logging


  2. you're not fishing around the filesystem looking for the query log - or even worse, distracted by the need for the perfect destination. /var/log /var/data/log /opt /home/mysql_savior/var

  3. You don't have to restart the server and interrupt any current connections to it.

  4. restarting the server leaves you where you started (log is by default still off)



For more information, see
MySQL 5.1 Reference Manual - Server System Variables - general_log


No comments:

Post a Comment

plot explanation - Why did Peaches' mom hang on the tree? - Movies & TV

In the middle of the movie Ice Age: Continental Drift Peaches' mom asked Peaches to go to sleep. Then, she hung on the tree. This parti...