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. Puppet利用Nginx多端口实现负载均衡

    随着公司应用需求的增加,需要不断的扩展,服务器数量也随之增加,当服务器数量不断增加,我们会发现一台puppetmaster压力大,解析缓慢,而且时不时出现"time out"之类的 ...

  2. 【shell】截取字符串前面文字

    例如:有一个文件test.txt,里面有这些数据. meiguounix232 faguounix ribenunix zhongguounixtaobao hanguounixbaba 现在我想截取 ...

  3. 对Serverless的研究

    1. 引言 Serverless 是一种 “无服务器架构”,让用户无需关心程序运行环境.资源及数量,只要将精力 Focus 到业务逻辑上的技术. 现在公司已经实现 DevOps 化,正在向 Serve ...

  4. CentOS8 中文输入法

    CentOS8发布了,安装了下试试,结果发现中文输入法调不出来. 系统安装完成后,在系统[设置]的[Region&Language]里的[输入源]里可以添加汉语输入源,但是不能打中文字. 下面 ...

  5. sqlserver 中批量删除\r\n 换行符

    从Excel中向sqlserver 中批量粘贴数据时 可能会粘贴进去换行符 \r\n  这时候在查询时候是看不见的 只有把该字段赋值到‘’中才能发现换行. 批量替换语句: update [表名]set ...

  6. chalk插件 使终端输出的字带颜色

    1.使终端输出红色字体: const chalk = require('chalk'); console.log(chalk.red('this is red!') 这时运行终端,打印的this is ...

  7. Django之nginx+wsgi后台部署(最新版)

    0-部署准备 1.要使用安全组打开腾讯云的80端口 腾讯云的80端口不能访问​www.jianshu.com 以实际项目部署为例 项目名称api_learn: Python版本:python 3.6. ...

  8. BZOJ 2217: [Poi2011]Lollipop 构造 + 思维

    Description 有一个长度为n的序列a1,a2,...,an.其中ai要么是1("W"),要么是2("T").现在有m个询问,每个询问是询问有没有一个连 ...

  9. ASP.NET MVC 生成EML文件

    需求: 点发送邮件按钮的时候, 自动在客户端电脑打开默认邮件的窗口,并且把内容和附件都附加上去. 解决方案: 尝试使用过Microsoft.Office.Interop.Outlook 和 MPAI. ...

  10. 【C++】关键字struct

    网址连接 https://www.cnblogs.com/zhengfa-af/p/8144786.html 主要内容: 1. C语言中,结构体的3中不同声明和定义方式: 2. struct在C和C+ ...