日志分类:

一、错误日志。

1、在配置文件中的配置是:log-error="DESKTOP-igoodful.err",查看参数的键值对:show variables like 'log_error';

二、二进制日志。

1、记录了对数据库执行更改的所有操作,当然不包含select和show的操作。作用有两个:恢复和复制。

2、二进制日志开关。my.ini配置文件中的配置:log_bin=ON。二进制日志文件默认不开启。开启这个功能大概降低mysql性能的1%,但是提供了恢复和复制功能,值得。也可以直接配置log-bin这个键值对就可以开启二进制日志功能。

3、二进制日志文件名。log-bin=D:\MySQL\Data\igoodfulBinaryLog。其中D:\MySQL\Data路径为全局变量datadir的值,且该日志文件只能在datadir路径下面。这里设置的二进制文件名为igoodfulBinaryLog,服务器生成的第一个二进制日志文件为igoodfulBinaryLog.000001,以后依次递增,同时在该路径下面还会产生igoodfulBinaryLog.index文件来记录所有二进制日志文件名的全路径名。每次启动mysql服务都会生成一个二进制日志文件。如下图:

4、配置二进制日志文件的记录格式。my.ini配置文件中的配置:binlog-format=row/statement/mixed。基于行/语句/两者的混合。默认值是statement,建议mixed。statement形式则记录的是逻辑sql语句,而row则是以行记录,mixed则是两者的混合。

5、配置二进制日志文件大小的最大值。my.ini配置文件中的配置:max_binlog_size=512M。单位可以为K/M/G。查看:show variables like 'max_binlog_size';当二进制文件的大小达到这个最大值后会自动新建下一个二进制文件。限制单个二进制文件的大小。当记录的日志文件大小达到最大值后会新建一个日志文件;当重启mysql服务时也会新建一个日志;当运行flush logs也会新建一个日志文件。

6、二进制日志文件自动逾期清除功能。my.ini配置文件中的配置:expire_logs_days=2;

7、二进制日志文件的查看。mysqlbinlog  D:\MySQL\Data\igoodfulBinaryLog.000180 > a.txt

8、记录了对数据库执行更改的所有操作,当然不包含select和show的操作。

9、显示服务器的所有二进制文件名。show binary logs;

10、

三、慢查询日志。

1、慢查询开关。my.ini配置文件中的配置:slow-query-log=1。

1、慢查询时间限定。my.ini配置文件中的配置:long_query_time=10。查看参数:show variables like '%long_query_time%';

2、没有索引的SQL是否记录。my.ini配置文件中的配置:log_queries_not_using_indexes=1。查看参数:show variables like '%log_queries_not_using_indexes%'

四、查询日志。

1、记录了所有对mysql数据库请求的信息,不论这些请求的执行是否正确。

2、查询日志开关。my.ini配置文件中的配置:general-log=1。

3、查询日志文件名。my.ini配置文件中的配置:general_log_file="DESKTOP-igoodful.log"。

五、pid文件。

1、mysql服务的进程pid文件名。my.ini配置文件中的配置:pid_file=D:\MySQL\Data\igoodful.pid

六、表结构定义文件。

1、任何存储引擎中的一个表都有一个以frm结尾的表结构定义文件,该文件记录了表的结构。

七、重做日志文件。事务机制根源。

1、记录了针对innodb存储引擎的事务日志。

2、重做日志文件存放位置。my.ini配置文件中的配置为:innodb_log_group_home_dir=D:\MySQL\Data。默认值为datadir全局变量代表的路径。

2、文件名。有两个文件,分别是ib_logfile0和ib_logfile1。路径都是在datadir全局变量代表的路径。

3、重做日志文件大小。my.ini配置文件中的配置为:innodb_log_file_size=512M。如下面第5后面的图所示。

4、重做日志文件组的数量。默认为1,表示只有一个租

5、一个重做日志文件组中的重做日志文件的数量。my.ini配置文件中的配置为:innodb_log_files_in_group=3。默认值为2。如下为设置成3,表示三个文件。从0开始自增。

6、

八、表空间文件。(存放表的数据、索引、插入缓存信息、表的内部数据字典,其余信息放在默认表空间中)(针对innodb存储引擎)

1、独立表空间配置,即每个表一个独立的表空间,文件名=表名+ibd后缀,如user表,则user表的表空间文件名为user.ibd。my.ini配置文件中的配置:innodb_file_per_table=1。因此,任何一个表的信息存放在frm文件、ibd文件、ibdata1文件中。

2、innodb存储引擎有一个共享表空间文件。文件名是ibdata1。如果不设置innodb_file_per_table=1,则所有数据都会放在该文件。设置后就分担一部分数据到各自的ibd文件中去。就算启用了innodb_file_per_table=1,该文件还是不断地增加。

3、表空间结构图如下。一个表空间由分散的页和段组成,比如数据段,索引段、回滚段等,有的对象是由页组成;一个区由64个连续的页组成,一个页大小为16KB,即一个区为1M。innodb存储引擎每次最多能够申请到4个区。启用了innodb_file_per_table=1时,新建的一个表,如果不存放任何数据进去,那么该表的表空间文件(表名.ibd文件)默认大小是96K。因此空表看该文件大小是不是96K就可以判断。而在每个段开始位置处有32个页大小的碎片页来存放数据。只有当这些页使用完后才是64个连续页的申请,即1M的申请。innodb的页大小不可更改,只能是16KB大小。常见的页类型有数据页,事务数据页、系统页,undo页,插入缓冲位图页,插入缓冲空闲列表页,压缩的二进制大对象页,未压缩的二进制大对象页。行,数据库是面向行的,数据是按照按行来存储的,每一页存放的行是有限制的,最多能够存放16KB/2 - 200=7992行。一个页保存的是一行一行的记录。

4、

七、表空间文件。

七、表空间文件。

七、表空间文件。

七、表空间文件。

七、表空间文件。

mysql日志详解的更多相关文章

  1. MySQL 日志详解

    一.MySQL 日志分类 MySQL 日志主要包含:错误日志.查询日志.慢查询日志.事务日志.二进制日志. 错误日志: -log-err (记录启动.运行.停止 MySQL 服务时出现的信息) 查询日 ...

  2. MySQL日志文件之错误日志和慢查询日志详解

    今天天气又开始变得很热了,虽然很热很浮躁,但是不能不学习,我在北京向各位问好.今天给大家分享一点关于数据库日志方面的东西,因为日志不仅讨厌而且还很重要,在开发中时常免不了与它的亲密接触,就在前几天公司 ...

  3. MySQL配置文件详解

    MYSQL 配置文件详解 “全局缓存”.“线程缓存”,全局缓存是所有线程共享,线程缓存是每个线程连接上数据时创建一个线程(如果没有设置线程池),假如有200连接.那就是200个线程,如果参数设定值是1 ...

  4. MySQL权限详解

    MySQL权限级别介绍 MySQL权限级别 全局性的管理权限,作用于整个MySQL实例级别 数据库级别的权限,作用于某个指定的数据库上或者所有的数据库上 数据库对象级别的权限,作用于指定的数据库对象上 ...

  5. MySQL Binlog详解

    MySQL Binlog详解 Mysql的binlog日志作用是用来记录mysql内部增删改查等对mysql数据库有更新的内容的记录(对数据库的改动),对数据库的查询select或show等不会被bi ...

  6. MySQL状态变量详解

    MySQL状态变量详解 mysql的状态变量(status variables)记录的mysql服务器的运行状态信息.查看语法如下: SHOW [GLOBAL | SESSION] STATUS; S ...

  7. MySQL程序之mysql参数详解

    MySQL程序之mysql参数详解 mysql 是一个命令行客户程序,用于交互式或以批处理模式执行SQL语句 用法: mysql [OPTIONS] [database] 参数: 1.-? --hel ...

  8. springboot快速入门(二)——项目属性配置(日志详解)

    一.概述 application.properties就是springboot的属性配置文件 在使用spring boot过程中,可以发现项目中只需要极少的配置就能完成相应的功能,这归功于spring ...

  9. MySQL 数据类型 详解

    MySQL 数据类型 详解 MySQL 的数值数据类型可以大致划分为两个类别,一个是整数,另一个是浮点数或小数.许多不同的子类型对这些类别中的每一个都是可用的,每个子类型支持不同大小的数据,并且 My ...

随机推荐

  1. 【LOJ6254】最优卡组 堆(模拟搜索)

    [LOJ6254]最优卡组 题面 题解:常用的用堆模拟搜索套路(当然也可以二分).先将每个卡包里的卡从大到小排序,然后将所有卡包按(最大值-次大值)从小到大排序,并提前处理掉只有一张卡的卡包. 我们将 ...

  2. Thinkphp框架下PHPExcel实现Excel数据的批量化导入导出

    第一步:下载官方的PHPExcel文件,下载地址https://github.com/PHPOffice/PHPExcel 第二步:解压打开,将PHPExcel\Classes\全部文件拷贝到thin ...

  3. PHP----实现压缩HTML

    很多时候,我们在做优化处理的时候,会考虑压缩HTML,去掉HTML里面的空格和换行. 具体实现: public function change(){ echo "change"; ...

  4. CBV流程之View源码解析

    CBV是基于反射实现根据请求方式不同,执行不同的方法. 请求流程:view源码解析 1.urls.py :请求一定来执行视图下的as_view方法.也可以直接点击as_view()来找源码. 2.vi ...

  5. HTML表单的运用

    没学习HTML表单之前,觉得文本框.密码框.隐藏域.单选按钮.复选框等这些在平常页面常见到的表单不起眼,挺简单,到自己用代码区实现将它们灵活串联运用起来,才发现一点都不简单.看着容易,自己操作还是出现 ...

  6. c++从文件中读取一行数据并保存在数组中

    从txt文本中读取数据存入数组中 #include <iostream> #include <fstream> #include <string> #include ...

  7. C++中的类成员指针

    写在前面:本博客为本人原创,严禁任何形式的转载!本博客只允许放在博客园(.cnblogs.com),如果您在其他网站看到这篇博文,请通过下面这个唯一的合法链接转到原文! 本博客全网唯一合法URL:ht ...

  8. HTML5 桌面提示

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  9. 原生js模仿下拉刷新功能

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. 洛谷P3166 数三角形 [CQOI2014] 数论

    正解:数论 解题报告: 传送门! 很久以前做的题了呢,,,回想方法还想了半天QAQ 然后写这题题解主要是因为看到了好像有很新颖的法子,就想着,学习一下趴,那学都学了不写博客多可惜 首先港下最常规的方法 ...