|
[ 2011-6-9 ] (1)错误日志文件 |
MySQL生成或相关联的日志文件种类繁多,本节重点关注与MySQL数据库服务相关的几类日志文件:错误日志、查询日志(也可分为普通查询日志和慢查询日志)和二进制日志文件。 |
|
[ 2011-9-23 ] (2)普通查询日志文件 |
普通查询日志记录mysqld所做的操作,比如当客户端连接或断开连接时,服务器都会向该文件中写入相关信息,客户端发出的SQL语句也会被记录到普通查询日志中。通过该日志文件可以查询客户端都提交了什么,这点对DBA会很有帮助,举例来说DBA怀疑客户端执行的操作有问题,就可以通过普通查询日志确定客户端究竟执行的是什么。 |
|
[ 2011-9-23 ] (3)慢查询日志文件 |
慢查询日志指的是,所有SQL执行时间超过long_query_time变量指定值的语句,以及达到min_examined_row_limit条记录的语句。SQL语句执行时间不包含初始化表锁的开销。SQL语句执行完毕并且完成对其锁定资源的释放后,mysqld会将符合条件的SQL语句写入慢查询日志,因此慢查询日志中语句记录和顺序有可能跟执行顺序不同(执行时间也不同)。 |
|
[ 2011-9-23 ] (4)配置日志文件输出路径 |
从5.1.6版本开始,MySQL提供了更灵活的方式控制日志文件的输出以及输出路径。MySQL的标准日志(特指general_log和slow_log),即可以输出到文件,同时也能够以表的形式保存在数据库mysql中的同名表内,而在5.1.6版本之前,只记录日志到文件。 |
|
[ 2011-9-23 ] (5)系统日志表的特点 |
通常,日志表主要是用来提供一个供用户查看MySQL服务运行时执行的接口 |
|
[ 2011-9-23 ] (6)关于二进制日志文件 |
二进制日志中记录对数据库的修改事件,比如建表操作,数据修改操作等,另外,不是说一定有数据被修改才会被记入二进制日志,比如像DELETE语句,即使未匹配删除任何数据,也有可能被记录(视事件记录格式而定),同时,二进制日志还将包含事件执行花费的时间。 |
|
[ 2011-9-23 ] (7)指定二进制日志文件格式 |
MySQL的复制特性最初就是基于传播master端的SQL语句到slave端执行,这种方式即被称为"基于语句记录"(statement-based logging, SBL)。进入5.1.5版本后,MySQL提供了新的日志记录格式,"基于行记录"(row-based logging),master写二进制日志时,将明确记录表的每行记录发生的变化。 |
|
[ 2011-9-23 ] (8)混合二进制日志记录格式 |
当设置基于mixed格式记录日志时(默认以基于statement格式记录日志),MySQL会根据一定规则确定何时使用基于row格式替换基于statement格式。 |
|
[ 2011-9-23 ] (9)管理日志文件 |
MySQL服务在运行过程中会创建一系列的日志文件,从有效利用磁盘空间的因素考虑,DBA有必要定期对这类文件进行清理。 |
|