《MYSQL性能调优与架构设计》第二章 MYSQL架构组成-- mysql物理文件组成之 日志文件

一.MYSQL物理文件组成

1.日志文件

错误日志:Error log

记录了Mysql server 运行过程中所有较为严重的警告和错误信息,以及Mysql server每次启动和关闭的详细信息。默认情况下,错误日志是关闭的,如果要开启,在服务器上开启mysql服务的时候要带上 --log-error 选项,默认存在数据目录下,以hostname.err命名,也可以指定文件存储目录和文件名,如

#mysqld start --log-error[=file_name]

二进制日志:Binary Log & Binary Log Index

二进制日志常被称作binlog,是Mysql server 中最为重要的日志之一。通过指令

#mysqld start --log-bin[=file_name] 在mysql服务启动时打开。

若未指定file_name,则会在数据目录下记录为mysql-bin.******(*代表1-9之间的某个数字,表示该日志的序列号)

--max_binlog_size参数设置binlog的最大存储上限,达上限后Mysql会重新创建一个日志开始继续记录。

--binlog-to-db=db_name参数明确告诉mysql,需要对某个(db_name)数据库记录binlog,该参数下binlog仅记录指定数据库的log,而忽略其他数据库

--binlog-ignore-db=db_name参数与上面刚好相反。不过这两个参数,并非表明Query所操作的数据库,而是指执行Query时当前所处的数据库。

打开记录的功能之后,Mysql会将所有修改数据库数据的Query以二进制形式记录到日志文件中。记录包括每一条Query所执行的时间,所消耗的资源,以及相关的事物信息,所以说binlog是事物安全的。

mysql-bin.index 文件的功能是记录所有Binary Log的绝对路径,保证Mysql 各种线程能够顺利地根据它找到所有需要的Binary Log 文件。

更新日志:update log

mysql5.0版本之后,不再支持更新日志。

查询日志:query log

通过

#mysqld start --log[=file_name] 打开查询日志。

他相当于记录了所有的lelect 查询,体积比较大,开启后对性能有比较大的影响,所以一定要慎用这个功能。作者在书中的建议是:一般只在跟踪某些特殊的Query性能问题时才会短暂打开该功能。

默认的保存文件名是hostname.log

慢查询日志:slow query log

慢查询日志记录的是执行时间比较长的Query,也就是常说的 Slow Query。通过

#mysqld -start --log-slow-queries[=file_name]来开打该日志功能并设置保存文件名和路径。

默认文件名为hostname-slow.log 默认目录也是数据目录。

mysql提供了专门用来分析慢查询日志的工具程序 mysqlslowdump,以帮助数据库管理人员解决可能存在的性能问题。

InnoDB的在线REDO日志:InnoDB REDO Log

innoDB是一个事务安全的存储引擎,其事务安全性主要是通过在线REDO日志和记录在线表空间的UNDO信息来保证的。REDO日志记录了InnoDB所做的所有物理变更和事务信息,通过REDO日志和UNDO信息,InnoDB保证了在任何情况下的事务安全性。InnoDB的REDO日志同样默认存放在数据目录下,可以通过

innodb_log_group_home_dir

来更改设置日志的存放位置,通过

innodb_log_files_in_group 设置日志的数量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值