wdlinux mysql 日志_mysql日志文件

MySQL有几个不同的日志文件,可以帮助你找出mysqld内部发生的事情:

1.错误日志:log_error

2.通用查询日志: general_query log

3.二进制日志:log_bin

4.慢查询日志:log_slow_queries

错误日志(The error log):记录启动、运行或停止mysqld时出现的问题。

错误日志文件包含了当mysqld启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。

--log-error=[file-name]用来指定错误日志存放的位置。

如果没有指定[file-name],默认hostname.err(本文文件名为localhost.localdomain.err)做为文件名,默认存放在目录中。

也可以将log-error配置到my.cnf文件中,这样就省去了每次在启动mysqld时都手工指定--log-error.

下图清楚的记录着mysqld守护进程启动与运行所产生的日志

在日常维护中,错误日志可以帮助我们快速处理故障。

66618e1d86063621010262bb6fb0527e.png

由于采用的是wdlinux一键安装包搭建lnmp环境,所以日志路径会与yum安装不同。

通用查询日志(The query log):记录建立的客户端连接和执行的语句。

通用查询日志用来记录用户的所有操作,包括启动和关闭MySQL服务、更新语句、查询语句等。

如果你想要知道mysqld内部发生了什么,你应该用--log[=file_name]或-l [file_name]选项启动它。如果没有给定file_name的值, 默认名是host_name.log。所有连接和语句被记录到日志文件。当你怀疑在客户端发生了错误并想确切地知道该客户端发送给mysqld的语句时,该日志可能非常有用。

mysqld按照它接收的顺序记录语句到查询日志。这可能与执行的顺序不同。这与更新日志和二进制日志不同,它们在查询执行后,但是任何一个锁释放之前记录日志。(查询日志还包含所有语句,而二进制日志不包含只查询数据的语句)。

可通过>show variables like'&general_log';命令查找通用查询日志完整路径。

默认情况下,general query log是禁用的。存放在data directory 目录下,默认文件名是host_name.log.

21c70731756899505ce913c1472294e8.png

通过编辑/etc/my.cnf来增加通用日志文件记录

log=/www/wdlinux/mysql-5.1.69/var/localhost.log

96317e8a1d518e649bf52a5e10690efc.png

添加完后通过mysqladmin -u root -p flush-logs命令刷新

查看是否启动通用查询日志

3cc2d8ce33e670d6343d96a069786457.png

二进制日志       所有更改数据的语句。还用于复制。

二进制日志也叫作变更日志(update log),主要用于记录数据库的变化情况。通过二进制日志可以查询MySQL数据库中进行了哪些改变。

6ec51c446f960e55c171c1f4bd363948.png

mysql默认是没有开启bin-log日志,首先我们需要开启bin-log日志,

在my.cnf中修改

[mysqld]

log-bin=/www/wdlinux/mysql-5.1.69/var/mysql-bin.log

指定了bin-log日志的路径,开启日志后需要mysqladmin -u root -p flush-logs才生效,重启后我们发现在刚才设定的路径新增了log文件,这就是我们需要的二进制日志

你可以用mysqlbinlog实用工具检查二进制日志文件。如果你想要重新处理日志止的语句。

266c0f31cdea87d24e85ea008e619f67.png

注意:1.启用binary log会对性能带来一定影响。

2.binary log 不记录没有修改data 的操作,如select 或show。

慢日志        记录所有执行时间超过long_query_time秒的所有查询或不使用索引的查询。

慢查询日志用来记录执行时间超过指定时间的查询语句。通过慢查询日志,可以查找出哪些查询语句的执行效率很低,以便进行优化。

默认情况下,slow query log 是禁用的

在没有指定slow query log file 名称的情况下, 默认文件名是:host_name-slow.log.默认的存放在data directory目录下。

在runtime 状态也可以通过slow_query_log和 slow_query_log_file 来修改。

slow query log 应该受保护,因为里面可能包含密码。

语句执行完并且所有锁释放后记入慢查询日志。记录顺序可以与执行顺序不相同。

慢查询日志可以用来找到执行时间长的查询,可以用于优化。但是,检查又长又慢的查询日志会很困难。

通过slow query log 可以来对相关的SQL 进行优化,但是直接查看log 比较困难,可以使用mysqldumpslow 命令对log 进行dump 之后在查看。

参考:mysql官方中文手册  http://dev.mysql.com/doc/refman/5.1/zh/database-administration.html#log-files

Dave大哥博客: http://blog.csdn.net/tianlesoftware/article/details/7028304

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值