MySQL的日志类型
1、MySQL的日志类型及作用如下:
(1) 二进制日志:该日志文件会以二进制形式记录数据库的各种操作,但不记录查询语句。
(2) 错误日志:该日志文件会记录MySQL服务器启动、关闭和运行时出错等信息。
(3) 通用查询日志:该日志记录MySQL服务器的启动和关闭信息、客户端的连接信息、更新数据库记录SQL语句和查询数据库记录SQL语句。
(4) 慢查询日志:记录执行时间超过指定时间的查询语句,通过工具分析慢查询日志可以定位MySQL服务器性能瓶颈所在。
默认情况下,MySQL只会启动错误日志文件,其他日志文件需要手动启动才可以被启动。使用日志有优点也有缺点,启动日志后,虽然可以实现对MySQL服务器进行维护,但是会降低MySQL软件的执行速度。
2、启动二进制日志:
[mysqld]
log-bin[=dir/[filename]]
在上述语句中,参数dir用来指定二进制文件的存储路径;参数filename用来指定二进制文件的文件
名,具体格式为filename.number。如果没有设置参数dir和filename,二进制日志文件将使用默认名字:主机名-bin-number,保存到默认目录——数据库数据文件里。
查看二进制日志文件使用命令:mysqlbinlog
删除二进制日志文件使用命令:RESET MASTER、PURGE MASTER LOGS TO、PURGE MASTER LOGS BEFORE
3、启动错误日志:
[mysqld]
error-bin[=dir/[filename]]
上述语句中,参数dir用来指定错误文件的存储路径;参数filename用来指定错误文件的文件名。如果没有设置参数dir和filename,错误日志文件将使用默认名字:主机名.error,保存到默认目录——数据库数据文件里。
4、启动通用查询日志:
[mysqld]
log [=dir/[filename]]
上述语句中,参数dir用来指定通用查询日志文件的存储路径;参数filename用来指定通用查询日志
的文件名,具体格式filename.log。如果没有设置参数dir和filename,查询日志文件将使用默认名字:主机名.log,保存在默认目录——数据库数据文件里。
5、启动慢查询日志:
[mysqld]
log-slow-queries [=dir/[filename]]
long_query_time=n
上述语句中,参数dir用来指定慢查询日志文件的存储路径;参数filename用来指定慢查询日志的文
件名,具体格式为filename-slow.log。如果没有设置参数dir和filename,慢查询日志文件将使用默认名字:主机名-slow.log,保存到默认目录——数据库数据文件里。参数n用来设置时间,该值的单位为秒(s)。如果没有设置 long_query_time 选项,默认时间为10s。
如果想了解执行时间超过指定时间的查询语句,以便定位MySQL服务器的性能瓶颈,可以查看慢查询日志。
分析慢查询日志:MySQL提供了对应的工具用于分析MySQL慢查询日志的内容,例如:查看慢查询
次数最多的语句或慢查询时间最长的语句,对应的工具为:mysqldumpslow.pl,参数如下:-s 分析慢查询时指定排序参数,可选的有:al 表示平均锁定时间,ar 表示平均返回记录数,at 表示平均查询时间。-t 参数表示只显示指定的行数。