MySQL四大日志(log_error、slow_query_log、bin_log、general_log)

      MySQL数据库有好几种日志,他们在诊断故障、建立复制机制,改善服务器性能和崩溃回复等工作中很有用
在MySQL运行的时候,回去检查它的启动项看是否启用了日志功能,则打开相应的日志文件。可以服务器生成几种不同类型的日志。常见的MySQL数据库日志有:错误日志(log_error)、慢查询日志(slow_query_log)、二进制日志(bin_log)、通用查询日志(general_log)


1、错误日志(error log)

    这个日志记载着服务器启动和关闭的情况,还记载着关于服务器故障或异常状况信息,如果服务器无法启动,首先应该查看该日志,在数据库意外发生时,服务器会在结束之前把一条信息写入错误日志以表明发生了什么问题。

服务器上通过命令show variables like 'log_error';查看错误日志名称和存存放的位置:

MySQL四大日志(log_error、slow_query_log、bin_log、general_log)_第1张图片


2、慢查询日志

     慢查询日志的用途是为了改善数据库性能的,服务器维护定义“慢”查询(默认10秒)的long_query_time变量(从mysql5.1.21版本开始以微秒记录sql的时间,之前版本时候秒记录)慢查询日志可以帮助我们找出需要改写以改善其执行性能的查询,不过,在解读它的内容时,还应该把系统的正常工作负载考虑在内,“慢”是以实际时间(不是CPU时间)度量的,如果服务器的负载在某个时间段里突然增加,就可能后有许多查询误判为是“慢”查询,而它们在系统负载处于正常情况时也许根本谈不上“慢”。

MySQL四大日志(log_error、slow_query_log、bin_log、general_log)_第2张图片

从MySQL5.1.21版本开始,查询必须至少检查min_examined_row_limit个数据行才有资格被记载到慢查询日志里,这个系统变量默认值为0

MySQL四大日志(log_error、slow_query_log、bin_log、general_log)_第3张图片


还有一个log_queries_not_using_indexes参数,用来表示运行的SQL语句未使用索引,则MySQL数据库同样会记录到slow log文件中,前提是必须将此开关保持在开启状态。

MySQL四大日志(log_error、slow_query_log、bin_log、general_log)_第4张图片

3、通用查询日志

待续


4、二进制日志

你可能感兴趣的:(MySQL)