怎么查看mysql执行过的sql。?

有些时候当程序做了更新,数据库负载突然上来,或者并发翻了几倍。这个时候如果用show full processlist; 根本看不到完全的sql。怎么才能看是哪些sql导致的呢,在网上查了资料,有一下几种方法。

1.记录慢日志:

long_query_time = 1

log_slow_queries = /tmp/mysql-slow.log

2.查看bin日志

mysqlbinlog mysql-bin.000042 |grep "Table_map"> xyq.sql

3.可以将MySQL执行的每行指令全都记录起来。

log = /tmp/mysql.log