mysql日志总结

一,日志简介
        mysql日志主要分为四类,使用这些日志文件,可以查看mysql内部发生的事情。这四类日志分别为:
  • 错误日志
     记录mysql服务的启动、运行或停止mysql的服务时出现的问题。
  • 查询日志
     记录建立的客户端连接和执行语句。
  • 二进制日志
     记录所有更改数据的语句,可以用于数据复制。
  • 慢查询日志
      记录所有执行时间超过long_query_time的所有查询或不适用索引的查询。

二,二进制文件
  • 启动和设置二进制文件
             在my.cnf中[mysqld]有几个二进制的设置:
             log-bin  [=path/ [filename] ]
              expire_logs_days = 10
             max_binlog_size = 100M
             log-bin定义二进制日志,path表明二进制文件所在路径;filename指定文件名称;其中.index为其他二进制日志清单。
             expire_binlog_size定义清除过期日志的时间。默认值是零,表示没有自动清除。
             max_binlog_size定义单个文件的大小 ,当超出文件大小限制,日志就会发生滚动,关闭当前的文件,重新打开一个新的日志文件,不能将该变量设置为大于1G或小于                4kb。
             可以使用show variables like ‘log_%’;日志的设置。
             建议:数据库文件最好不要和日志文件放在同一个磁盘上。
  • 查看二进制文件
           语句:show binary bogs;
           查看二进制日志文件个数及文件名。
           使用命令mysqlbinlog查看日志格式,
            删除二进制日志

            语句:reset master ;删除二进制文件。
             删除指定二进制文件:
             purge (master | binary ) logs to ‘log_name’
             purge (master | binary ) logs before 'date'
  • 使用二进制文件恢复数据库
             mysqlbinlog恢复数据的语法如下:
             mysqlbinlog [option] filename mysql -u user p password    
             option是一些可选项,filename是日志文件名。比较常用的两对option参数是--start-date、--stop-date和--start-position、--stop-position。
              --start-date、--stop-date可以设置恢复数据库的起始时间点和结束时间点。--start-position、--stop-position可以指定恢复数据库的开始位置和结束位置。
  • 暂时停止二进制日志功能
可以在配置文件里修改,但是在配置文件里修改需要重启数据库。所以使用命令修改,
set sql_log_bin =  [ 0 | 1 ]         零为暂停;1位恢复。

三,错误日志

           记录mysql服务的启动、运行或停止mysql的服务时出现严重错误的相关信息。
  • 启动和设置错误日志
             在配置文件中,配置如下:
             log-error   [=path/ [filename] ]    path为日志文件所在的目录路径,file_name为日志名。修改配置项后,需要重启mysql服务以生效。
  • 查看错误日志
             查看错误日志可以监控系统的运行状态,便于及时发现故障、修复故障。
             查看错误日志路径:
             show  variables like 'log_err';
             找到日志文件所在,可以用常用的linux命令查看。
  • 删除错误日志
             mysql的错误日志是以文本文件的形式在文件系统中存储的,可以直接删除。
             flush logs只会重新打开日志文件,不会备份和创建的操作。如果日志文件不存在使用flush logs 可以自动创建。
              删除错误日志之后,需要在服务器端执行以下命令:
              mysqladmin -u root -p  flush-logs

四,通用查询日志
        通用查询日志记录包括mysql的所有用户操作,启动和关闭服务、执行查询和更新语句等。
  • 启动和设置通用查询日志
            log    [=path/ [filename] ]   path为日志文件所在的目录路径,file_name为日志名。修改配置项后,需要重启mysql服务以生效  
  • 查看通用查询日志
             windows下,使用记事本就可以打开;linux下使用more,less,cat等命令查看。
  • 删除通用查询日志
通用查询日志为文本文件格式,所以可以直接删除。重新建立新的日志文件,可以使用mysqladmin flush-log

五,慢查询日志
        记录所有执行时间超过long_query_time的所有查询或不适用索引的查询;通过慢查询日志,可以找出执行时间较长、执行效率较低的语句,然后进行优化。
        启动和设置慢查询日志
         在my.cnf的配置文件如下:
         [mysqld]
           log-slow-queries   [=path/ [filename] ]
           long_query_time=n
           path为日志文件所在的目录路径,filename为日志名,n为时间,单位为秒。修改配置项后,需要重启mysql服务以生效
  • 查看慢查询日志
             可以使用慢查询日志分析工具查看;比较著名的有:mysql dump slow、mysql sla  、mysql log filter
  • 删除慢查询日志
             可以直接删除。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值