mysql日志学习总结

一,日志简介

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

  • 删除慢查询日志

可以直接删除。

时间: 2024-10-13 21:57:35

mysql日志学习总结的相关文章

MySQl Study学习之--MySQl二进制日志管理

MySQl Study学习之--MySQl二进制日志管理 MySQL二进制日志(Binary Log):   a.它包含的内容及作用如下:    包含了所有更新了数据或者已经潜在更新了数据(比如没有匹配任何行的一个DELETE)    包含关于每个更新数据库(DML)的语句的执行时间信息    不包含没有修改任何数据的语句,如果需要启用该选项,需要开启通用日志功能    主要目的是尽可能的将数据库恢复到数据库故障点,因为二进制日志包含备份后进行的所有更新    用于在主复制服务器上记录所有将发送

MySQL学习笔记之六:MySQL日志

MySQL日志主要包括:查询日志.慢查询日志.错误日志.二进制日志.中继日志.事务日志 查看与日志相关的服务器变量:SHOW GLOBAL VARIABLES LIKE '%log%'; MariaDB [(none)]> show global variables like '%log%'; +-------------------------------------------+---------------------------------------------------------

学习笔记之MySQL 日志文件管理

MySQL 日志文件分为4种:错误日志.通用查询日志.慢查询日志和二进制日志. 1.错误日志:记录MySQL 服务器的启动.运行或停止时出现的问题. (1)启动和设置错误日志 默认情况下会开启错误日志功能,而且,错误日志无法被禁止.打开数据安装目录下的my.ini 文件找到log-error 选项进行查看,具体如下: # Error Logging. log-error="WS.err" log-error 选项指定mysqld 保存错误日志文件的位置,简单语法结构如下: log-er

mysql日志管理

                            学习MYsql日志(一)       错误日志:       服务器启动和关闭过程中的信息 服务器运行过程中产生的错误信息 事件调度器运行一个事件时产生的(event)信息 在从服务器上启动或关闭从服务器进程时产生的信息 警告日志也会产生在错误日志(log_warnings) 一般查询日志: general_log general_log_file log log_output FILE 意思是指定文件中,还有两个值(log_output=

MySQL日志系统

body { font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 1.6; padding-top: 10px; padding-bottom: 10px; background-color: white; padding: 30px } body>*:first-child { margin-top: 0 !important } body>*:last-child { margin-bottom:

MySQL数据库学习之路

MySQL学习之路 目录 MySQL学习之路[第一篇]:MySQL单双实例安装 MySQL学习之路[第二篇]:MySQL登陆关闭.密码修改破解 MySQL学习之路[第三篇]:MySQL增删改查.用户权授.系统函数.字段修改 MySQL学习之路[第四篇]:MySQL进程连接.交互.变量 MySQL学习之路[第五篇]:MySQL主健和索引 MySQL学习之路[第六篇]:MySQL存储引擎.事务.锁 MySQL学习之路[第七篇]:MySQL日志管理 MySQL学习之路[第八篇]:MySQL备份恢复 M

Log4j,Log4j2,logback,slf4j日志学习

日志学习笔记 Log4j Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台.文件.数据库等:我们也可以控制每一条日志的输出格式:通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程. Log4j有7种不同的log级别,按照等级从低到高依次为:TRACE.DEBUG.INFO.WARN.ERROR.FATAL.OFF.如果配置为OFF级别,表示关闭log. Log4j支持两种格式的配置文件:properties和xml.包含三

lnmp vps服务器删除mysql日志文件三种方法

我在上一篇文章介绍了著名的LNMP主机一键安装工具,对比了军哥lnmp和AMH主机的差别,由于AMH拥有用户后台界面,易于新手操作,值得推荐. 但是,上周末我网站宕机,收到DNSPOD发来了宕机提醒,不得不半夜爬起来处理VPS问题,最终查明原因是AMH运行产生了大量的mysql数据库二进制文件,25GB的VPS硬盘几乎占满,导致网站不稳定,出现502宕机错误. AMH作者给出了解决办法,我不喜欢,其实后台修改配置就好了.考虑到所有lnmp vps用户的方便,我把所有解决办法都列出来给各位参考:

MySQL 日志管理(一)

一.MySQL的日志查看: QL的初期,需要熟练掌握sql语句的运用,最简单的方式就是多练习多运用,但是好需要有一定的目的性,什么意思呢? 就是每个人的习惯不一样,可能容易犯的错误也不同,所以需要总结自己的常犯错误,有针对性的弥补,这样就会对MySQL的学习和掌握起到事半功倍的效果.今天就说几种记录MySQL操作的几种日志: #错误日志     log-error #查询日志     log #二进制日志  log-bin #慢日志  log-slow-queries #更新日志 log-upd