Mysql 日志

来源:互联网 发布:淘宝卖家刷钻 编辑:程序博客网 时间:2024/05/29 11:19

一、错误日志

错误日志记录了当mysql启动和停止时,以及服务器运行过程中发生任何严重错误时的相关信息。

当数据库发生任何故障导致无法使用时,建议首先查看错误日志。

错误日志的保存路径由配置文件my.ini 中的参数 log_error 指定,如果log_error没有指定,则默认使用 host_name.err(host_name为主机名)为文件名

并保存在参数datadir指定的目录下。


二、二进制日志

二进制日志记录了所有的DDL(数据库定义语言)语句和DML(数据操作语言)语句,也就是说除了select外其他对数据和结构的更新写入删除操作都会写入二进制日志里。

此日志对数据恢复起着重要的作用。

1、二进制日志的保存路径

二进制日志保存路径由参数log_bin指定,如果只指定文件名(如binlog)没有路径,则默认保存在由 datadir 指定的目录,文件名类似:  binlog.000001

2、二进制日志的格式

      二进制日志有三种格式,STATEMENT ,ROW ,MIXED   ,可通过参数binlog_format  设置。

      三种格式的区别:

        STATEMENT  :把执行的sql语句保存到日志中

         ROW : 把每一行变更的记录都保存到日志中。比如  :update emp set name='abc'     ,如果表中有100条记录,则日志中会记录100条记录的变化情况。

                         这种格式优点是能记录每一行的变更细节,能保证数据恢复的一致性;缺点是数据量大,对I/O影响较大。

         MIXED   :   以上两种模式的综合,默认情况是使用STATEMENT ,在一下情况下会使用ROW :(还有待验证)

                                采用innodb存储引擎

                                使用了临时表

                               采用不确定函数,如current_time()等

3、二进制日志的读取

日志是以二进制保存的,所以不能直接读取,需要借助 mysqlbinlog  工具。

mysqlbinlog  binlog.0000001

三、查询日志

记录查询的sql语句,由参数general_log控制开启关闭,由参数general_log_flle控制查询日志路径,如果没有指定路径,则默认保存在参数datadir指定的路径,

并且文件名默认为  host_name.log  (host_name为主机名)


四、慢查询日志

参考 :http://blog.csdn.net/kexiaoling/article/details/50130883


              



0 0
原创粉丝点击