查看 MySQL 的语句, 比较常用的大概是 show processlist 命令了, 但是这个对于查询时间比较长的语句比较有意义, 对于一下子就能执行的语句真心拼不过手速啊.
于是就只能从 MySQL 的历史记录里面着手了. 为了实现这个目的, 我们需要修改 / etc/my.cnf 文件.
在 my.cnf 中的 [mysqld](其他地方可能无效) 下插入 log=/etc/tmp/MySQL.log(日志的地址可以自己定义, 不过不要在 home 里面, 否则可能显示不出来, 主要要有写的权限). 然后要重启数据库, 用 service mysqld restart 命令就可以了. 这个 log 会将所有的执行语句记录下来, 所以在数据库很忙的时候, 这个日志可能变得很大, 不宜查看.
用 tail -f /etc/tmp/MySQL.log 命令可以持续观察执行语句, 也可以将该文件下载下来慢慢看.
=========================================
另外还有一个慢查询历史记录, 也在 my.cnf 文件里, 配置语句为
?1234 log-slow-queries=/var/lib/MySQL/slowquery.log long_query_time=5 log-queries-not-using-indexes
其中 log-slow-queries 是慢查询历史记录的地址, long_query_time 限定超过 X 秒才能加入到历史记录里面, log-queries-not-using-indexes 限定没有使用索引的查询语句.
这个日志由于记录语句不多, 所以可以长期开启.
来源: http://www.bubuko.com/infodetail-2853622.html