mysql的4种日志:
日志默认在$MYSQL_HOME/data目录下。
可以登录到mysql查看日志情况:
mysql> show variables like '%log%';
mysql> show variables like '%slow%';
1.二进制日志,文件名:mysql-bin.* ,f中配置。数据库的主从依赖此文件。mysql-bin 记录了mysql的DDL和DML操作(不含select),但文件是二进制格式,必需用mysqlbinlog命令查看。
2.错误日志,文件名:*.err,记录启动/关闭、运行时严重错误信息。
3.查询日志,记录客户端所有的sql,包含select,对mysql有一定性能影响,不建议开启。
4.慢查询日志,f配置中,long_query_time的sql. 文件名:*.slow
显示2014-04-01后的update语句,主要做分析时使用。
注: 这条命令中有空格。
#> mysqlbinlog --start-datetime="2014-04-01 00:00:00" /usr/local/mysql-5.5.30/data/mysql-bin.000012 |grep -E "update |use "
应用这条命令的简单的python脚本:
import os
cmd = ''' mysqlbinlog --start-datetime="2014-04-01 00:00:00"
/usr/local/mysql-5.5.30/data/mysql-bin.000012 |grep -E "update |use "
'''
rc = 0
pio = os.popen(cmd)
for i in pio.readlines():
ti = i.replace('\n', "")
#ti = i
if len(ti)>256: print ti[:256] #防止sql太长
else: print ti
rc += 1
pio.close()
print "rowcount: %d" % rc
倒排序,最近的二进制日志。
#> ls mysql-bin.0* -1 -C