日志文件
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. QT实现窗口缩放打开与关闭(重叠窗口,太有意思了)

    基本思想:假设A为主窗口,B为子窗口.A打开或关闭时,先对A窗口进行截图,然后将图片部满整个B窗口的,在paintEvent里面进行动态缩放或放大画图.最后使用动画,将B窗口以动画的形式打开或关闭,动 ...

  2. CloudStack 物理网络架构

    原文地址:http://www.shapeblue.com/cloudstack/understanding-cloudstacks-physical-networking-architecture/ ...

  3. layer 的常用属性

    layer的各种属性代码示例: - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading ...

  4. STL之顺序容器

    顺序容器: vector:数组 list:链表 deque:双端数组 顺序容器适配器: stack:堆栈 queue:队列 priority_queue:优先级队列 deque是一个动态数组 dequ ...

  5. ThinkPHP - CURD增删改查 - 实例 - 搜索功能

    模板代码: /** * 搜索数据 * @return 无返回值 */ public function search(){ //判断并接收参数 //姓名 if ( isset($_POST['usern ...

  6. 转化为用欧几里得算法判断互质的问题D - Wolf and Rabbit

    Description There is a hill with n holes around. The holes are signed from 0 to n-1. A rabbit must h ...

  7. BZOJ 3282: Tree( LCT )

    LCT.. -------------------------------------------------------------------------------- #include<c ...

  8. .htaccess文件设置

    1.为使.htaccess有效,需要先做httpd.conf设置 #打开改写模式Options FollowSymLinks AllowOverride All#打开重写模式,去掉这行注释LoadMo ...

  9. iOS判断字符串是否包含表情字符

    - (BOOL)isContainsEmoji:(NSString *)string { __block BOOL isEomji = NO; [, [string length]) options: ...

  10. WEB开发:如何用js来模拟服务器的ajax响应,不依赖服务器来编写前端代码

    一.问题的提出 目前web前端开发,主流的思路是: 1)编写静态的html文件(不使用模板技术,与服务器无关) 2)页面通过ajax与服务器交互,进行数据的传输,数据格式为json格式 这里存在一个问 ...