日志分类:

一、错误日志。

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. [原]F5负载均衡示例:轮寻

    /** * lihaibo 欢迎转载,请保留原地址 */ 规划: F5 1600 BIG-IP 内网 192.168.100.0 255.255.255.0 外网 10.50.20.0 255.255 ...

  2. 【STL】vector的insert方法详解

    #include<vector> #include<iostream> using namespace std; int main() { vector<int>  ...

  3. 23种设计模式之代理模式(Proxy)

    代理模式是一种对象结构型模式,可为某个对象提供一个代理,并由代理对象控制对原对象的引用.代理模式能够协调调用者和被调用者,能够在一定程度上降低系统的耦合度,其缺点是请求的处理速度会变慢,并且实现代理模 ...

  4. 完美解决Android SDK Manager无法更新

    由于国内的各种屏蔽现在Android SDK Manager出现无法更新或更新太慢,如下方法可完美解决此问题 1. 打开..\Android\sdk\SDK Manager.exe  2.

  5. Unity3D笔记 英保通四 虚拟轴应用及键盘事件

    Input: 1.使用这个类能够读取输入管理器设置的按键,以及访问移动设备的多点触控或加速感应数据.想要读取轴向使用Input.GetAxis方法获取下列默认轴: "Horizontal&q ...

  6. oracle简单存储过程以及如何查看编译错误

    oracle简单存储过程以及如何查看编译错误; CREATE OR REPLACE PROCEDURE procedure_test ISval VARCHAR2(200);BEGIN /* val ...

  7. @staticmethod和@classmethod的作用与区别

    一般来说,要使用某个类的方法,需要先实例化一个对象再调用方法. 而使用@staticmethod或@classmethod,就可以不需要实例化,直接类名.方法名()来调用. 这有利于组织代码,把某些应 ...

  8. 消息通讯之关于消息队列MQ必须了解的相关概念

    目录 系统通讯方式有哪些? 消息队列的应用场景 消息队列通讯模型 常见的消息协议 AMQP MQTT ATOMP JMS 小结 系统通讯方式有哪些? RPC调用 RPC 全称 Remote Proce ...

  9. HDU 2187 - 悼念512汶川大地震遇难同胞——老人是真饿了 - [大水题]

    讲真,这么水的题,我都不怎么好意思扔到博客上来,但是没办法啊,我总得证明一下今天上午我不是在寝室里瞎玩浪费掉的…… 思路就是,把米按单价从小到大排个序,便宜的买的越多越好,直到钱花光为止……我真的都不 ...

  10. FCoin API

    本文介绍FCoin API 介绍 通过了解以下信息,您可以方便的使用 FCoin 提供的 API 来接入 FCoin 交易平台. 认证 执行下面的代码进行用户验证: import fcoin api ...