1、MySQL的日志。主要分为4类。

1》二进制日志:记录所有更改数据的语句,可以用于数据复制。

2》错误日志:记录MySQL服务的启动、运行、停止MySQL服务时出现的问题。

3》查询日志:记录建立的客户端连接和执行的语句。

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

当执行一个flush logs语句或执行MySQLadmin flush-logs或MySQLadmin refresh时,将刷新日志。

启动日志功能会降低MySQL数据库的性能。如在查询非常频繁的MySQL数据库系统中,如果开启了通用查询日志和慢查询日志,MySQL数据库会花费很多的时间记录日志,同时,日志会占用大量的磁盘空间。

2、二进制日志:只要记录MySQL数据库变化。

1》启动和设置二进制日志

二进制日志默认是关闭的
my.ini中[MySQLd]组下关于二进制日志的设置:
log-bin [=path/ [filename]]
expire_logs_days=10
max_binlog_size=100M

2》查看二进制日志

//查看二进制日志文件个数及文件名
show binary logs; //查看二进制日志文件的内容
MySQLbinlog filename.0000001

3》删除二进制日志

MySQL二进制日志文件可以配置自动删除。同时也提供了手动删除的方法:
1、使用reset master语句删除所有二进制日志文件
reset master; 2、使用purge master logs语句删除指定日志文件
purge {master | binary} logs to 'log_name' --删除文件名编号比指定文件名编号小的所有日志
purge {master | binary} logs before 'date' --删除指定日期以前的所有日志

4》使用二进制日志恢复数据库

--使用MySQLbinlog恢复数据
mysqlbinlog [option] filename |mysql -u user -p pwd option:
--start-date和--stop-date=>指定恢复数据库的起始时间点、结束时间点
--start-position和--stop-position=>指定恢复数据的起始位置、结束位置

5》暂时停止二进制日志功能

set sql_log_bin={0 | 1}

3、错误日志

包含了当MySQLd启动和停止、以及服务器在运行过程中发生任何严重错误时的相关信息。默认记录错误日志到数据库目录下,如果没有配置文件的名字,默认为hostname.err。执行flush logs,错误日志文件会被重新加载。

1》启动和设置错误日志

错误日志的启动和停止以及指定日志文件名,都可以通过修改my.ini(或mycnf)来配置。错误日志配置项为log-error。在[MySQLd]下配置log-error,则启动错误日志。

[mysqld]
log-error=[path / [file_name]]

2》查看错误日志:日志以文本文件的形式保存

mysql> show variables like 'log_error';
+---------------+--------------+
| Variable_name | Value |
+---------------+--------------+
| log_error | .\LFY-PC.err |
+---------------+--------------+
1 row in set, 1 warning (0.00 sec) mysql>

3》删除错误日志

手动删除运行状态下错误日志,MySQL并不会自动创建日志文件。flush logs在重新加载日志的时候,如果文件不存在,则会自动创建
mysqladmin -u user -p flush-logs 或者
mysql>flush logs;

4、通用查询日志

记录的是MySQL的所有用户操作,包括启动和关闭服务、执行查询和更新语句

1》启动和设置通用查询日志

--MySQL默认没有开启通用查询日志
--默认日志存放在hostname.log 在my.ini或者my.cnf的[MySQLd]组下添加log选项即可开启:
[mysqld]
log[=path / [filename]]

2》查看通用查询日志

通用日志使用的是文本形式保存。

3》删除通用查询日志

可以直接删除日志文件,然后使用 MySQLadmin flush-logs重新创建。

5、慢查询日志

记录查询超过执行时间的日志。

1》启动和设置慢查询日志

--默认是关闭的,可以通过MySQL服务启动的时候使用--log-slow-queries[=file_name]启动慢查询日志;
--也可以通过my.ini或者my.cnf文件配置,这种方式需要指定记录阈值。
--不指定日志文件名,默认为hostname-slow.log
--查询时间阈值,n是时间值,单位是秒。没有配置默认是10秒。
[mysqld]
log-slow-queries[=path / [filename]]
long_query_time=n

2》查看慢查询日志

文件以文本形式保存。

3》删除慢查询日志

直接删除文件,然后使用 MySQLadmin flush-logs重新创建。

MySQL-快速入门(13)MySQL日志的更多相关文章

  1. MySQL 快速入门教程

    转:MySQL快速 入门教程 目录 一.MySQL的相关概念介绍 二.Windows下MySQL的配置 配置步骤 MySQL服务的启动.停止与卸载 三.MySQL脚本的基本组成 四.MySQL中的数据 ...

  2. MySQL快速入门(二)

    目录 MySQL快速入门(二) 约束条件 自增 自增的特性 主键 外键 级联更新/删除 表与表之间的关系 外键约束 操作表方法 查询关键字 练习数据 select··from where 筛选 gro ...

  3. MySql基础笔记(一)Mysql快速入门

    Mysql快速入门 一)基本概念 1)表 行被称为记录,是组织数据的单位.列被称为字段,每一列表示记录的一个属性. 2)主键 主键用于唯一的标识表中的每一条记录.可以定义表中的一列或者多列为主键, 但 ...

  4. MySQL 快速入门(一)

    目录 MySQL快速入门 简介 存储数据的演变过程 数据库分类 概念介绍 MySQL安装 MySQL命令初始 环境变量配置 MySQL环境变量配置 修改配置文件 设置新密码 忘记密码的情况 基本sql ...

  5. Mysql快速入门(看完这篇能够满足80%的日常开发)

    这是一篇mysql的学习笔记,整理结合了网上搜索的教程以及自己看的视频教程,看完这篇能够满足80%的日常开发了. 菜鸟教程:https://www.runoob.com/mysql/mysql-tut ...

  6. Mysql快速入门(三)

    MySQL性能优化之查看执行计划explain 介绍: (1).MySQL 提供了一个 EXPLAIN 命令, 它可以对 SELECT 语句进行分析, 并输出 SELECT 执行的详细信息, 以供开发 ...

  7. 快速入门系列--MySQL

    一直说要好好复习一下Mysql都木有时间,终于赶上最近新购买了阿里云,决定使用CentOS去试试.NET Core等相关的开发,于是决定好好的回顾下这部分知识,由于Mysql的数据库引擎是插件式的,对 ...

  8. MySQL 快速入门

    MySQL的相关概念介绍 MySQL 为关系型数据库(Relational Database Management System), 这种所谓的"关系型"可以理解为"表格 ...

  9. MySQL快速入门及常用命令

    数据库 笔记内容 SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL. 1. 数据查询语言DQL 数据查询语言DQL基本结构是由SELECT子句,F ...

  10. mysql 5.7以上版本安装配置方法图文教程(mysql 5.7.12\mysql 5.7.13\mysql 5.7.14)(转)

    http://www.jb51.net/article/90302.htm ******************************* 这篇文章主要为大家分享了MySQL 5.7以上缩版本安装配置 ...

随机推荐

  1. HDU-4292-Food(最大流,Dinic)

    链接: https://vjudge.net/problem/HDU-4292 题意: You, a part-time dining service worker in your college's ...

  2. 使用linq将2个Datatable合并

    DataTable dtStepX = new DataTable("dtStepX"); DataTable dtStepS = new DataTable("dtSt ...

  3. 创建一个Django项目

    创建一个django项目: 1. django-admin  startproject student_manage(项目名) 2. cd student_manage python manage.p ...

  4. grpc:What is gRPC

    本文将介绍gRPC和protocol buffers.gRPC可以利用protocol buffers作为其接口定义语言(Interface Definition Language,IDL)和信息交换 ...

  5. Cisco基础(三):HSRP配置、三层交换配置HSRP、STP的配置、三层交换配置STP

    一.HSRP配置 目标: 在企业网络到外部的连接方案中,要求不高的条件下可以是单出口.一旦该出口线路出现问题,整个企业网络就不能连接到外网了.为了使得企业网络到外网连接的高可用性,可以设置两个以上的出 ...

  6. Spring Cloud Stream教程(一)介绍Spring Cloud Stream

    Spring Cloud Stream是构建消息驱动的微服务应用程序的框架.Spring Cloud Stream基于Spring Boot建立独立的生产级Spring应用程序,并使用Spring I ...

  7. 1.8 全新日期api

    /** * * @note * @author zhouyy <br> * Apr 14, 2017 5:21:12 PM * @version */ package com.bytter ...

  8. ELK日志平台搭建

    功能: 1. 查看当天的服务器日志信息(要求:在出现警告甚至警告级别以上的都要查询)2. 能够查看服务器的所有用户的操作日志3. 能够查询nginx服务器采集的日志(kibana作图)4. 查看tom ...

  9. Python 爬虫如何入门学习?

    "入门"是良好的动机,但是可能作用缓慢.如果你手里或者脑子里有一个项目,那么实践起来你会被目标驱动,而不会像学习模块一样慢慢学习. 另外如果说知识体系里的每一个知识点是图里的点,依 ...

  10. 配置kubernetes.client的参数遇到的坑

    配置kubernetes.client遇到的一些坑: 一,job-name不能重名,如果job-name已经有了,再创建job,则会发生冲突cliflict 这样将会报以下错误:Reason : Co ...