mysql日志文件

一,mysql有以下几种日志:
          错误日志:    -log-err
          查询日志:    -log
          慢查询日志:  -log-slow-queries
          更新日志:    -log-update
          二进制日志: -log-bin
是否启用了日志
        mysql>show variables like 'log_%';
查看当前的日志
  mysql> show master status;
显示二進制日志數目
  mysql> show master logs;
看二进制日志文件用mysqlbinlog(找到文件用vim直接打开)
  shell>mysqlbinlog mail-bin.000001
  或者shell>mysqlbinlog mail-bin.000001 | tail
导出mysql日志   /usr/bin/mysqlbinlog   --start-datetime='开始时间' --stop-datetime='结束时间'  binlog日志文件的名称 > /tmp/mysql.log
本地虚拟机mysql日志位置 /usr/local/mysql/data
本地mysqlbinlog位置 /var/log/mysql/

二.开启binlog日志
    在my.cnf(本地位置在etc/mysql/my.cnf)文件中打开log-bin即可
三.查看某个binlog日志内容,常用有两种方式
    1.使用mysqlbinlog自带查看命令法:
      注:binlog是二进制文件,普通文件查看器cat more vi等都无法打开,必须使用自带的 mysqlbinlog 命令查看
            binlog日志与数据库文件在同目录中(我的环境配置安装是选择在/usr/local/mysql/data中)
            在MySQL5.5以下版本使用mysqlbinlog命令时如果报错,就加上 “--no-defaults”选项
      2.上面这种办法读取出binlog日志的全文内容较多,不容易分辨查看pos点信息,这里介绍一种更为方便的查询命令:
        mysql> show binlog events [IN 'log_name'] [FROMpos] [LIMIT [offset,] row_count];
  选项解析:IN'log_name'指定要查询的binlog文件名(不指定就是第一个binlog文件)  FROMpos指定从哪个pos起始点开始查起(不指定就是从整个文件首个pos点开始算)
   LIMIT [offset,] 偏移量(不指定就是0)
    row_count      查询总条数(不指定就是所有行)
四.其他命令
   
A.查询第一个(最早)的binlog日志:mysql>show binlog events\G;
    B.指定查询mysql-bin.000021这个文件:mysql> show binlog events in 'mysql-bin.000021'\G;
    C.指定查询mysql-bin.000021 这个文件,从pos点:8224开始查起:mysql> show binlog events in 'mysql-bin.000021' from 8224\G;
     D.指定查询mysql-bin.000021 这个文件,从pos点:8224开始查起,查询10条mysql> show binlog events in 'mysql-bin.000021' from 8224 limit 10\G;
      E.指定查询mysql-bin.000021 这个文件,从pos点:8224开始查起,偏移2行,查询10条mysql> show binlog events in 'mysql-bin.000021' from 8224 limit 2,10\G;

五.利用binlog恢复数据库
    具体详见:  
http://www.cnblogs.com/martinzhang/p/3454358.html

你可能感兴趣的:(mysql日志文件)