17.1、日志简介

二进制日志
错误日志
通用查询日志
慢查询日志

17.2、二进制日志

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

17.2.1、启动和设置二进制日志

默认关闭
# my.cnf(Linux操作系统下)或者my.ini(Windows操作系统下)
[mysqld]
log-bin [=DIR \ [filename] ]
DIR和filename可以不指定,默认为hostname-bin.number,同时生成hostname-bin.index文件

17.2.2、查看二进制日志

mysqlbinlog filename.number

17.2.3、删除二进制日志

1.删除所有二进制日志
 RESET MASTER;
2.根据编号来删除二进制日志
         PURGEMASTER LOGS TO ‘filename.number’
         清除编号小于number的所有二进制文件

3.根据创建时间来删除二进制日志
         PURGEMASTER LOGS TO ‘yyyy-mm-dd hh:MM:ss’
         删除指定时间之前的

17.2.4、使用二进制日志还原数据库

mysqlbinlog filename.number | mysql -u root –p
number编号小的先还原

17.2.5、暂时停止二进制日志功能

  SET SQL_LOG_BIN=0

17.3、错误日志

  错误日志是MySQL数据库中最常用的一种日志。错误日志主要用来记录MySQL服务的开启、关闭和错误信息。

17.3.1、启动和设置错误日志

默认开启的,而且,错误日志无法被禁止。
默认情况下,错误日志存储在MySQL数据库的数据文件夹下。错误日志文件通常的名称为hostname.err。其中,hostname表示MySQL服务器的主机名。错误日志的存储位置可以通过log-error选项来设置。将log-error选项加入到my.ini或者my.cnf文件的[mysqld]组中,形式如下:

# my.cnf(Linux操作系统下)或者my.ini(Windows操作系统下)
[mysqld]
log-error=DIR / [filename]

17.3.2、查看错误日志

  文本编辑/查看器

17.3.3、删除错误日志

MySQL数据库中,可以使用mysqladmin命令来开启新的错误日志。mysqladmin命令的语法如下:
mysqladmin -u root -p flush-logs
执行该命令后,数据库系统会自动创建一个新的错误日志。旧的错误日志仍然保留着,只是已经更名为filename.err-old。

17.4、通用查询日志

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

17.4.1、启动和设置通用查询日志

默认情况下,通用查询日志功能是关闭的
通过my.cnf或者my.ini文件的log选项可以开启通用查询日志。将log选项加入到my.cnf或者my.ini文件的[mysqld]组中,形式如下:

# my.cnf(Linux操作系统下)或者my.ini(Windows操作系统下)
[mysqld]
log [=DIR \ [filename] ]

17.4.2、查看错误日志

  文本编辑/查看器

17.4.3、删除通用查询日志

%JAVA_HOME%\bin;C:\Program Files\IDM Computer Solutions\UltraEdit\;%JBOSS_HOME%\bin
可以使用mysqladmin命令来开启新的通用查询日志。新的通用查询日志会直接覆盖旧的查询日志,不需要再手动删除了。mysqladmin命令的语法如下:

mysqladmin -u root -p flush-logs

17.5、慢查询日志

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

17.5.1、启动和设置慢查询日志

默认情况下,慢查询日志功能是关闭的。
通过my.cnf或者my.ini文件的log-slow-queries选项可以开启慢查询日志。通过long_query_time选项来设置时间值,时间以秒为单位。如果查询时间超过了这个时间值,这个查询语句将被记录到慢查询日志。将log-slow-queries选项和long_query_time选项加入到my.cnf或者my.ini文件的[mysqld]组中,形式如下:

# my.cnf(Linux操作系统下)或者my.ini(Windows操作系统下)
[mysqld]
log-slow-queries [=DIR \ [filename] ]
long_query_time=n

17.5.2、查看慢查询日志

  文本编辑/查看器

17.5.3、删除慢查询日志

慢查询日志的删除方法与通用查询日志的删除方法是一样的。可以使用mysqladmin命令来删除。也可以使用手工方式来删除。mysqladmin命令的语法如下:

mysqladmin -u root -p flush-logs

执行该命令后,命令行会提示输入密码。输入正确密码后,将执行删除操作。新的慢查询日志会直接覆盖旧的查询日志,不需要再手动删除了。数据库管理员也可以手工删除慢查询日志。删除之后需要重新启动MySQL服务。重启之后就会生成新的慢查询日志。如果希望备份旧的慢查询日志文件,可以将旧的日志文件改名。然后重启MySQL服务

17.6、小结

日志类型

配置
my.cnf或my.ini

默认
启动

查看

删除

二进制
日志

[mysqld]

log-bin [=DIR \ [filename] ]

mysqlbinlog

filename.number

RESET MASTER;

PURGE MASTER LOGS TO

‘filename.number’

PURGE MASTER LOGS TO

‘yyyy-mm-dd hh:MM:ss’

错误
日志

[mysqld]

log-error[=DIR \ [filename] ]

文本查看/编辑器

mysqladmin -uroot -p flush-logs

通用查询
日志

[mysqld]

log [=DIR \ [filename] ]

文本查看/编辑器

mysqladmin -uroot -p flush-logs

慢查询
日志

log-slow-queries[=DIR \ [filename] ]

long_query_time=n

文本查看/编辑器

mysqladmin -uroot -p flush-logs

MySQL基础之第17章 MySQL日志的更多相关文章

  1. MySQL基础之第13章 MySQL函数

    13.1.数学函数 随机数可能会用到,其他基本无视. 13.2.字符串函数 重点CONCAT(S1,S2….) 13.3.日期和时间函数 一.MySQL 获得当前日期时间 函数 1.1 获得当前日期+ ...

  2. MySQL基础之第15章 MySQL用户管理

    15.2.账户管理 15.2.1.登录和退出MySQL服务器 mysql –hhostname|hostIP –P port –u username –p[password] databaseName ...

  3. MySQL基础之第4章 MySQL数据类型

    4.1.整数类型 tinyint(4)smallint(6)mediumint(9)int(11)bigint(20) 注意:后面的是默认显示宽度,以int为例,占用的存储字节数是4个,即4*8=32 ...

  4. mysql数据库优化课程---17、mysql索引优化

    mysql数据库优化课程---17.mysql索引优化 一.总结 一句话总结:一些字段可能会使索引失效,比如like,or等 1.check表监测的使用场景是什么? 视图 视图建立在两个表上, 删除了 ...

  5. MySQL基础之第2章 Windows平台下安装与配置MySQL

    2.1.msi安装包 2.1.1.安装 特别要注意的是,安装前要删除原来的my.ini和原来的data目录,改名也行,不然在最后一步会“apply security settings”报个1045错误 ...

  6. 【夯实Mysql基础】记一次mysql语句的优化过程

    1. [事件起因] 今天在做项目的时候,发现提供给客户端的接口时间很慢,达到了2秒多,我第一时间,抓了接口,看了运行的sql,发现就是 2个sql慢,分别占了1秒多. 一个sql是 链接了5个表同时使 ...

  7. 【夯实Mysql基础】记一次mysql语句的优化过程!

      1. [事件起因] 今天在做项目的时候,发现提供给客户端的接口时间很慢,达到了2秒多,我第一时间,抓了接口,看了运行的sql,发现就是 2个sql慢,分别占了1秒多. 一个sql是 链接了5个表同 ...

  8. mysql基础优化-explain的使用-mysql死锁

    MySQL的优化 主要包括三个方面,首先是SQL语句的优化,其次是表结构的优化(这里主要指索引的优化),最后是服务器配置的优化. 一.SQL语句的优化 在 where 及 order by 涉及的列上 ...

  9. mysql基础1:yum安装mysql

    1.下载yum源并安装http://dev.mysql.com/downloads/repo/yum/.wget https://dev.mysql.com/get/mysql57-community ...

随机推荐

  1. 李洪强iOS开发之后使用纯代码实现横向滚动的UIScrollView

    李洪强iOS开发之后使用纯代码实现横向滚动的UIScrollView (VTmagic是一个实现左右滚动的控制器的框架,也可以实现此功能) 实现的效果:  01 - 创建四个控制器 02 - 定义需要 ...

  2. 李洪强漫谈iOS开发[C语言-004]-开发概述程序设计语言程序编译过程

    汇编语言 指令用特定的名字来标记,这就是汇编语言 人比较容易看懂汇编语言 汇编直接和程序一一对应的 有汇编器把程序翻译成机器码 把高级语言编译成计算机识别的语言 程序编译过程 命令行 UNIX 系统中 ...

  3. JavaScript的基础语法,你真的了解吗?

    这篇文章是在我们熟悉了JS的基础语法后,很少有人去关注的一些细节部分.如果掌握了某些细节也许会对代码的改善有着非凡的作用.也许会使我们的代码更严谨,更高效. 1.if语句的条件 if条件中,括号里是布 ...

  4. php ++a和a++

    <?php$a=$b=5;$a+$b=$a++-++$b;echo $b;?> 输出-1

  5. !! Android developer 最新国内镜像

    Android developer 最新国内镜像: http://wear.techbrood.com, 包含Android最新文档以及Android Wear,Android TV,Android ...

  6. 解决Android开发中,ActiveAndroid和Gson同时使用,对象序列化失败的问题

    ActiveAndroid是安卓开发常用的ORM框架. Gson则是Google提供的轻量级序列化框架,非常适合Android开发使用. 但这两者同时使用,会产生序列化失败的问题.你通常会收到如下信息 ...

  7. REST简析

    内容译自英文原文:A Brief Introduction to REST 不知你是否意识到,围绕着什么才是实现异构的应用到应用通信的“正确”方式,一场争论正进行的如火如荼:虽然当前主流的方式明显地集 ...

  8. leetcode:Summary Ranges

    Given a sorted integer array without duplicates, return the summary of its ranges. For example, give ...

  9. 《OD大数据实战》HBase整合MapReduce和Hive

    一.HBase整合MapReduce环境搭建 1. 搭建步骤1)在etc/hadoop目录中创建hbase-site.xml的软连接.在真正的集群环境中的时候,hadoop运行mapreduce会通过 ...

  10. 概述hibernate入门安装配置

    1.jdbc连接的优缺点 JDBC的优点 直接底层操作,提供了很简单.便捷的访问数据库的方法,跨平台性比较强.灵活性比较强,可以写很复杂的SQL语句. JDBC的缺点 1).因为JAVA是面向对象的, ...