Home  >  Article  >  Database  >  mysql日志学习总结_MySQL

mysql日志学习总结_MySQL

WBOY
WBOYOriginal
2016-05-27 13:46:341122browse

一,日志简介

 

mysql日志主要分为四类,使用这些日志文件,可以查看mysql内部发生的事情。这四类日志分别为:

 

错误日志

 

记录mysql服务的启动、运行或停止mysql的服务时出现的问题。

 

查询日志

 

记录建立的客户端连接和执行语句。

 

二进制日志

 

记录所有更改数据的语句,可以用于数据复制。

 

慢查询日志

 

记录所有执行时间超过long_query_time的所有查询或不适用索引的查询。

 

二,二进制文件

 

启动和设置二进制文件

 

在my.cnf中[mysqld]有几个二进制的设置:

  log-bin  [=path/ [filename] ]

  expire_logs_days = 10

  max_binlog_size = 100M

 

log-bin定义二进制日志,path表明二进制文件所在路径;filename指定文件名称;其中.index为其他二进制日志清单。

 

expire_binlog_size定义清除过期日志的时间。默认值是零,表示没有自动清除。

max_binlog_size定义单个文件的大小 ,当超出文件大小限制,日志就会发生滚动,关闭当前的文件,重新打开一个新的日志文件,不能将该变量设置为大于1G或小于4kb。

 

可以使用show variables like ‘log_%’;日志的设置。

建议:数据库文件最好不要和日志文件放在同一个磁盘上。

查看二进制文件

语句:show binary bogs;

查看二进制日志文件个数及文件名。

使用命令mysqlbinlog查看日志格式,

删除二进制日志

语句:reset master ;删除二进制文件。

删除指定二进制文件:

purge (master | binary ) logs to ‘log_name’

purge (master | binary ) logs before 'date'

使用二进制文件恢复数据库

mysqlbinlog恢复数据的语法如下:

 mysqlbinlog [option] filename mysql -u user p password    

option是一些可选项,filename是日志文件名。比较常用的两对option参数是--start-date、--stop-date和--start-position、--stop-position。

--start-date、--stop-date可以设置恢复数据库的起始时间点和结束时间点。--start-position、--stop-position可以指定恢复数据库的开始位置和结束位置。

 

暂时停止二进制日志功能

 

可以在配置文件里修改,但是在配置文件里修改需要重启数据库。所以使用命令修改,

set sql_log_bin =  [ 0 | 1 ]         零为暂停;1位恢复。

 

三,错误日志

 

记录mysql服务的启动、运行或停止mysql的服务时出现严重错误的相关信息。

 

启动和设置错误日志

 

在配置文件中,配置如下:

log-error   [=path/ [filename] ]    path为日志文件所在的目录路径,file_name为日志名。修改配置项后,需要重启mysql服务以生效。

 

查看错误日志

 

查看错误日志可以监控系统的运行状态,便于及时发现故障、修复故障。

 

查看错误日志路径:

show  variables like 'log_err';

 

找到日志文件所在,可以用常用的linux命令查看。

 

删除错误日志

 

mysql的错误日志是以文本文件的形式在文件系统中存储的,可以直接删除。

 

flush logs只会重新打开日志文件,不会备份和创建的操作。如果日志文件不存在使用flush logs 可以自动创建。

 

删除错误日志之后,需要在服务器端执行以下命令:

mysqladmin -u root -p  flush-logs

 

四,通用查询日志

 

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

 

启动和设置通用查询日志

 

log    [=path/ [filename] ]   path为日志文件所在的目录路径,file_name为日志名。修改配置项后,需要重启mysql服务以生效  

 

查看通用查询日志

 

windows下,使用记事本就可以打开;linux下使用more,less,cat等命令查看。

删除通用查询日志

 

通用查询日志为文本文件格式,所以可以直接删除。重新建立新的日志文件,可以使用mysqladmin flush-log

 

五,慢查询日志

 

记录所有执行时间超过long_query_time的所有查询或不适用索引的查询;通过慢查询日志,可以找出执行时间较长、执行效率较低的语句,

然后进行优化。

 

启动和设置慢查询日志

 

在my.cnf的配置文件如下:

[mysqld]

  log-slow-queries   [=path/ [filename] ]

  long_query_time=n

 

path为日志文件所在的目录路径,filename为日志名,n为时间,单位为秒。修改配置项后,需要重启mysql服务以生效

 

查看慢查询日志

 

可以使用慢查询日志分析工具查看;比较著名的有:mysql dump slow、mysql sla  、mysql log filter

 

删除慢查询日志

 

可以直接删除。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn