mysql 历史记录

      程序出现了问题,明知道多是sql语句形成的,可是由于框架的缘由,分析起来十分麻烦,因而打算直接查看数据库里面的历史记录. mysql

      查看mysql的语句,比较经常使用的大概是show processlist 命令了,可是这个对于查询时间比较长的语句比较有意义,对于一会儿就能执行的语句真心拼不过手速啊. sql

     因而就只能从mysql的历史记录里面着手了.为了实现这个目的,咱们须要修改/etc/my.cnf文件. 数据库

     在my.cnf中的[mysqld](其余地方可能无效)下插入log=/etc/tmp/mysql.log(日志的地址能够本身定义,不过不要在home里面,不然可能显示不出来,主要要有写的权限).而后要重启数据库,用service mysqld restart命令就能够了.这个log会将全部的执行语句记录下来,因此在数据库很忙的时候,这个日志可能变得很大,不宜查看. 框架

     用tail -f /etc/tmp/mysql.log 命令能够持续观察执行语句,也能够将该文件下载下来慢慢看. spa

=========================================      rest

    另外还有一个慢查询历史记录,也在my.cnf文件里,配置语句为 日志

    log-slow-queries=/var/lib/mysql/slowquery.log
    long_query_time=5 索引

    log-queries-not-using-indexes ssl

    其中log-slow-queries是慢查询历史记录的地址,long_query_time限定超过X秒才能加入到历史记录里面,log-queries-not-using-indexes限定没有使用索引的查询语句. 配置

这个日志因为记录语句很少,因此能够长期开启.

相关文章
相关标签/搜索