>  기사  >  데이터 베이스  >  你有没有遗忘mysql的历史记录

你有没有遗忘mysql的历史记录

WBOY
WBOY원래의
2016-06-07 16:28:23785검색

查看mysql的语句,比较常用的大概是show processlist 命令了,但是这个对于查询时间比较长的语句比较有意义,对于一下子就能执行的语句真心拼不过手速啊. 于是就只能从mysql的历史记录里面着手了.为了实现这个目的,我们需要修改/etc/my.cnf文件. 在my.cnf中的[m

      查看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文件里,配置语句为

  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限定没有使用索引的查询语句.

这个日志由于记录语句不多,所以可以长期开启.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.