日志文件
1. err日志

    error log 记录mysql在运行的过程中所有较为严重的警告和错误信息,以及mysql server每次启动和关闭的详细信息。系统在默认情况下关闭error log 功能。error log 默认存放在data目录下,默认文件名为主机名.err。error log 通过两种方式开启:

1). 启动mysqld时,附加上--log-error参数

2) . 在my.cnf中配置log-error系统环境变量

当进入mysql后执行 flush logs命令后,mysql会将当前的错误日志文件附加-old文件保存,并且创建一个新的空错误日志文件,仅仅在指定--log-error的情况下。

注:error log 不全是保存是警告和错误信息,还保存每次启动和关闭的信息。

ps启动时信息:
130420 16:19:29 mysqld_safe mysqld from pid file /data0/mysql_data_7706/FZTEST-24178.pid ended
130420 16:19:30 mysqld_safe Starting mysqld daemon with databases from /data0/mysql_data_7706
error: Found option without preceding group in config file: /data0/mysql_data_7706/my.cnf at line: 1
Fatal error in defaults handling. Program aborted
130420 16:19:30 [Note] Plugin 'FEDERATED' is disabled.
130420 16:19:30 [Note] Plugin 'ndbcluster' is disabled.
130420 16:19:30  InnoDB: Initializing buffer pool, size = 8.0M
130420 16:19:30  InnoDB: Completed initialization of buffer pool

(以下省略)

 查看error 日志是否启动:
mysql> show variables like 'log_error';
+---------------+---------------------+
| Variable_name | Value                        |
+---------------+---------------------+
| log_error          | /var/log/mysqld.log |
+---------------+---------------------+
1 row in set (0.00 sec)


关闭mysql:  mysqladmin -uroot -p shutdown 

2. 二进制日志(binlog)

binlog日志主要记录mysql的更新内容,记录每一条更新语句的执行的时间、消耗的资源,以及相关的事务信息。可以用于实时备份,与master/slave复制。

如何打开:
my.cnf中[mysqld] 节点上添加  

查看binlog是否打开

mysql> show variables  like 'log_%';
+---------------------------------+-----------------+
| Variable_name                   | Value           |
+---------------------------------+-----------------+
| log_bin                             | ON              |


查看binlog内容:
 /usr/local/mysql3306/bin/mysqlbinlog mysql-bin.00002

log-bin-index文件作用:
记录目录所有binlog文件
[root@FZTEST-24178 mysql_data_7706]# cat mysql_7706-relay-bin.index
./mysql_7706-relay-bin.000032

binlog格式说明:

[root@localhost ~]# mysqlbinlog  /home/mysql/binlog/binlog.000003  | more

/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
# at 4
#120330 16:51:46 server id 1  end_log_pos 98    Start: binlog v 4, server v 5.0.45-log created 120330 1
6:51:46
# Warning: this binlog was not closed properly. Most probably mysqld crashed writing it.
# at 196
#120330 17:54:15 server id 1  end_log_pos 294   Query   thread_id=3     exec_time=2     error_code=0
SET TIMESTAMP=1333101255/*!*/;
insert into tt7 select * from tt7/*!*/;
# at 294
#120330 17:54:46 server id 1  end_log_pos 388   Query   thread_id=3     exec_time=28    error_code=0
SET TIMESTAMP=1333101286/*!*/;
alter table tt7 engine=innodb/*!*/;

解析binlog格式

位置
位于文件中的位置,“at 196”说明“事件”的起点,是以第196字节开始;“end_log_pos 294”说明以第294字节结束

时间戳
事件发生的时间戳:“120330 17:54:46”

事件执行时间
事件执行花费的时间:"exec_time=28"

错误码
错误码为:“error_code=0”

服务器的标识
服务器的标识id:“server id 1”

其他参数说明:

1). binlog_do_db:表示记录指定数据库的二进制日志

2).binlog_ignore_db:表示忽略指定的数据库的二进制日志

3).  max_binlog_cache_size:表示使用binlog时最大的内存值

4). binlog_cache_size

此参数表示binlog使用的内存大小,可以通过状态变量binlog_cache_use和binlog_cache_disk_use来帮助测试。


       binlog_cache_use:使用二进制日志缓存的事务数量


       binlog_cache_disk_use:使用二进制日志缓存但超过binlog_cache_size值并使用临时文件来保存事务中的语句的事务数量

5).
max_binlog_size

Binlog最大值,最大和默认值是1GB,该设置并不能严格控制Binlog的大小,尤其是Binlog比较靠近最大值而又遇到一个比较大事务时,为了保证事务的完整性,不可能做切换日志的动作,只能将该事务的所有SQL都记录进当前日志,直到事务结束

6).
sync_binlog

这个参数直接影响mysql的性能和完整性

sync_binlog=0:
当事务提交后,Mysql仅仅是将binlog_cache中的数据写入Binlog文件,但不执行fsync之类的磁盘        同步指令通知文件系统将缓存刷新到磁盘,而让Filesystem自行决定什么时候来做同步,这个是性能最好的。

sync_binlog=n,在进行n次事务提交以后,Mysql将执行一次fsync之类的磁盘同步指令,同志文件系统将Binlog文件缓存刷新到磁盘。

Mysql中默认的设置是sync_binlog=0,即不作任何强制性的磁盘刷新指令,这时性能是最好的,但风险也是最大的。一旦系统绷Crash,在文件系统缓存中的所有Binlog信息都会丢失。

查询日志

查询日志即记录所有的查询语句的日志,一般建议不开启,有些query语句比较大,开启后对性能的也有较大的影响。一般用于跟踪某特殊 的性能问题才会短暂打开功能,默认的查询日志文件名为主机名.log。

慢查询日志

慢查询日志记录的是查询需要较长时间的query,通过在[mysqld] 下添加log-slow-queries=/tmp/slow_log 打开些功能,默认文件名是hostname-slow.log默认的目录是数据目录。

分析慢查询的工具有:msyqlslowdump、mysqlsla

innodb在线日志redo日志

innodb是一个事务安全的存储引擎,其事务安全性主要是通过在线redo日志和记录在表空间中的undo信息来保证redo日志中记录了innodb所做的所有物理变更和事务信息,通过redo日志和undo信息,innodb保证了在任何情况下的事务安全性。innodb的redo日志同样默认存放 在数据目录下,可通过innodb_log_group_home_dir来更改设置日志的存放公交车,通过innodb_log_files_in_group 设置日志的数量。

mysql 初识之日志文件篇的更多相关文章

  1. Log4net入门(回滚日志文件篇)

    在上一篇Log4net(日志文件篇)中,我们使用"log4net.Appender.FileAppender"将日志信息输出到一个单一的文件中,随着应用程序的持续使用,该日志文件会 ...

  2. Log4net入门(日志文件篇)

    在上一篇Log4net入门(控制台篇)中,我们将日志信息输出到控制台中,在这一篇中,我们将描述如何将日志信息写到文件中.要将日志信息写入文件非常简单,只需要在Log4net.config配置文件中添加 ...

  3. mysql删除二进制日志文件

    一.RESET MASTER 这个语句可以验证首次配置主机备机是否成功.步骤如下: 1. 启动master和 slave,开启replication (即 复制) 注:replication (复制) ...

  4. MYSQL数据库的日志文件

    日志文件:用来记录MySQL实例对某种条件做出响应时写入的文件.如错误日志文件.二进制日志文件.慢查询日志文件.查询日志文件等. 错误日志 show variables like 'log_error ...

  5. mysql将bin-log日志文件转为sql文件

    查看mysqlbinlog版本 mysqlbinlog -V [--version] 查看binlog日志开启状态 show variables like '%log_bin%'; mysql打开bi ...

  6. nginx(四)初识nginx日志文件

    nginx 日志相关指令主要有两条,一条是log_format,用来设置日志格式,另外一条是access_log,用来指定日志文件的存放路径.格式和缓存大小,通俗的理解就是先用log_format来定 ...

  7. mysql初识之数据文件及其他文件

    在mysql中数据文件存放于在my.cnf中datadir指定的路径,使用的表引擎不同产生的文件格式.表文件个数也会有所差异.mysql的表引擎有多种,表的扩展名也不一样,如innodb用“ .ibd ...

  8. 浅谈MySQL日志文件|手撕MySQL|对线面试官

    关注微信公众号[程序员白泽],进入白泽的知识分享星球 前言 上周五面试了字节的第三面,深感数据库知识的重要,我也意识到在平时的学习中,自己对于数据库的学习较为薄弱.甚至在有过一定实习经验之后,依旧因为 ...

  9. mysql日志文件

    mysql的数据文件夹里出现mysql-bin日志文件,通过my.cnf注释掉log后,是否可以删除了? 参考 http://database.51cto.com/art/201107/278988. ...

随机推荐

  1. Css静态进度条

    图片预览: Css代码: <style> .statusList{width:240px; float:left; line-height:68px;margin:0 2px; text- ...

  2. ThinkPHP第十一天(关联模型使用,独立分组配置,MySQL concat用法)

    1.关联模型的使用 定义方式:新建一个类文件UserRelationModel.class.php Class UserRelationModel extends RelationModel{ pro ...

  3. poj 1838

    http://poj.org/problem?id=1838 并查集,,,计算总共个数的模版..... #include <iostream> #define maxn 16006 #in ...

  4. [Android文档翻译]设备兼容性

    原文地址:Device Compatibility Android设计于运行在多种不同类型的设备上,从手机.平板到电视.作为一名开发者,设备的涵盖范围为你的app提供了广大的潜在用户.为了让你的app ...

  5. js正则:零宽断言

    JavaScript正则表达式零宽断言 var str="abnsdfZL1234nvcncZL123456kjlvjkl"var reg=/ZL(\d{4}|\d{6})(?!\ ...

  6. detain ssh server 设置(也许必须是root来安装?)

    ssh connection refused 处理方法 一般这种情况是 opens server 没安装 或 没启动 检查 openssh 是否安装 su 登录root账号,安装 openssh se ...

  7. 求n^k的前缀和

    我都已经高二了,却还不知\(1^2+2^2+3^2+4^2+...+n^2\)的通式,真是惭愧. 现在说说如何求\(n^k\)的前缀和. 如果k比较小,我们可以直接差分序列手算.否则,我们可以用神奇的 ...

  8. HDU 5091 线段树扫描线

    给出N个点.和一个w*h的矩形 给出N个点的坐标,求该矩形最多能够覆盖多少个点 对每一个点point(x.y)右边生成相应的点(x+w,y)值为-1: 纵向建立线段树,从左到右扫描线扫一遍.遇到点则用 ...

  9. for循环语句之求和,阶乘,求偶,求n次篮球蹦起高度

    for循环语句格式: ;;/*循环条件*/i++/*状态改变*/) { //循环体,执行代码:(break;跳出循环体) } for 穷举法用循环把各种可能的情况都走一遍,然后用if条件把满足要求的结 ...

  10. 配置greenplum参数

    在进行一个greenplum安装之前需要进行配置一下相关的系统参数,否则很容易出现意想不到的错误. 1.修改系统参数 编辑 /etc/sysctl.conf ,以下是最小配置 kernel.shmma ...