How to show the last queries executed on MySQL?

后端 未结 10 724
感情败类
感情败类 2020-11-22 07:03

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

相关标签:
10条回答
  • 2020-11-22 07:21

    If mysql binlog is enabled you can check the commands ran by user by executing following command in linux console by browsing to mysql binlog directory

    mysqlbinlog binlog.000001 >  /tmp/statements.sql
    

    enabling

    [mysqld]
    log = /var/log/mysql/mysql.log
    

    or general log will have an effect on performance of mysql

    0 讨论(0)
  • 2020-11-22 07:31

    Maybe you could find that out by looking at the query log.

    0 讨论(0)
  • 2020-11-22 07:32

    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

    0 讨论(0)
  • 2020-11-22 07:37

    If you don't feel like changing your MySQL configuration you could use an SQL profiler like "Neor Profile SQL" http://www.profilesql.com .

    0 讨论(0)
提交回复
热议问题