information_schema系列三(文件,变量)

这个系列的文章主要是为了能够让自己了解MySQL5.7的一些系统表,统一做一下备注和使用,也希望分享出来让大家能够有一点点的受益。

1:FILES

这张表提供了有关在MySQL的表空间中的数据存储的文件的信息

我们刚创建一张表,现在来看一下这张表,我新建了一张maxiangqian名字的表,然后进行查询。

在5.7.8以后版本FILES就是为InnoDB 的数据文件提供记录。在MySQL集群该表还提供了有关在MySQL集群磁盘数据表存储的文件的信息。

这个表的数据是从InnoDB in-memory中拉取出来的,所以说这张表本身也是一个内存表,每次重启重新进行拉取。也就是我们下面要说的INNODB_SYS_DATAFILES这张表。还要注意一点的是这张表包含有临时表的信息,所以说和SYS_DATAFILES 这张表是不能够对等的,还是要从INNODB_SYS_DATAFILES看。如果undo表空间也配置是InnoDB 的话,那么也是会被记录下来的。

老规矩贴一下官网的全表的解释:中间show name是J结合官方解释后我自己的理解

INFORMATION_SCHEMA Name SHOW Name Remarks
FILE_ID 文件的编号 MySQL extension
FILE_NAME 文件名 MySQL extension
FILE_TYPE 表空间文件类型 MySQL extension
TABLESPACE_NAME 表空间名 MySQL extension
TABLE_CATALOG   MySQL extension
TABLE_SCHEMA   MySQL extension
TABLE_NAME   MySQL extension
LOGFILE_GROUP_NAME   MySQL extension
LOGFILE_GROUP_NUMBER   MySQL extension
ENGINE 默认引擎 MySQL extension
FULLTEXT_KEYS   MySQL extension
DELETED_ROWS   MySQL extension
UPDATE_COUNT   MySQL extension
FREE_EXTENTS 在当前的数据文件的可用空间 MySQL extension
TOTAL_EXTENTS 当前文件占用的空间 MySQL extension
EXTENT_SIZE page size如果是4,8,16KB的话就是1M。如果是32k的话就是2M,64k的话就是4M,innodb_page_size记录页大小,其他的时候,默认不会记录这个大小。 MySQL extension
INITIAL_SIZE 文件初始大小,以字节为单位 MySQL extension
MAXIMUM_SIZE 允许的文件最大值,一般情况下这个值是NULL MySQL extension
AUTOEXTEND_SIZE 自增长的值,可以通过两个值设置innodb_data_file_path ,innodb_temp_data_file_path MySQL extension
CREATION_TIME   MySQL extension
LAST_UPDATE_TIME   MySQL extension
LAST_ACCESS_TIME   MySQL extension
RECOVER_TIME   MySQL extension
TRANSACTION_COUNTER   MySQL extension
VERSION   MySQL extension
ROW_FORMAT   MySQL extension
TABLE_ROWS   MySQL extension
AVG_ROW_LENGTH   MySQL extension
DATA_LENGTH   MySQL extension
MAX_DATA_LENGTH   MySQL extension
INDEX_LENGTH   MySQL extension
DATA_FREE 可用空间 MySQL extension
CREATE_TIME 创建时间 MySQL extension
UPDATE_TIME 更改时间 MySQL extension
CHECK_TIME   MySQL extension
CHECKSUM   MySQL extension
STATUS 默认这个值是NOMAL,当为 IMPORTING时候就表示不可用 MySQL extension
EXTRA   MySQL extension

一般情况下我们直接筛选出来查询还是比较好的,通过下面的语句,其他的列一般是不会记录信息的,官网也没给太多的解释:

SELECT FILE_ID, FILE_NAME, FILE_TYPE, TABLESPACE_NAME, FREE_EXTENTS, TOTAL_EXTENTS, EXTENT_SIZE, INITIAL_SIZE, MAXIMUM_SIZE, AUTOEXTEND_SIZE, DATA_FREE, STATUS ENGINE FROM INFORMATION_SCHEMA.FILES \G

2:INNODB_SYS_DATAFILES

我们来重新查一下这个记录信息:

很容易看出来这张表就是记录的表的文件存储的位置和表空间的一个对应关系。这个就是相当容易理解了,就不多做解释了。

不过有一点我们要记住,这个表的SPACE是和FILES这张系统表的TABLESPACE_NAME这个列的最后一个值是相对应的。可以方便我们以后查阅

3:GLOBAL_STATUS 和SESSION_STATUS

这张表默认是提供有关服务器状态变量的信息来用的一般情况是不启用的,我们可以通过以下的方法来查看信息

SHOW GLOBAL STATUS 和GLOBAL_STATUS 是对应的

SHOW SESSION STATUSSESSION_STATUS 是对应的

贴一下列,由于两个表的列是一样的,所以说贴出来一个就好了

INFORMATION_SCHEMA Name SHOW Name Remarks
VARIABLE_NAME 变量名  
VARIABLE_VALUE 变量值  

详细的参数我就不再讲了,因为我也不懂啊。后面慢慢补上来。

4:GLOBAL_VARIABLES 和SESSION_VARIABLES

这两张系统表爷放在了一起,主要原因和上面两张是一样的,结构相同,而且可以通过其他方式查询,所以一般情况下是不启动的。

我们可以通过以下的方式进行查询:

SHOW GLOBAL VARIABLES 对应的是GLOBAL_VARIABLES

SHOW SESSION VARIABLES 对应的就是SESSION_VARIABLES

下面给出一条记录做个对比看一下:

我们可以看到,其实一个是实例级别的参数,一个是会话级别的参数。要记住一点就是 我们平时用的show variables 是等效与 show session variables.

在这里我们也顺便学习一下,全局变量和会话变量的区别:

系统变量又分为全局变量与会话变量。全局变量在MYSQL启动的时候由服务器自动将它们初始化为默认值,这些默认值可以通过更改my.cnf这个文件来更改。

  会话变量在每次建立一个新的连接的时候,由MYSQL来初始化。MYSQL会将当前所有全局变量的值复制一份。来做为会话变量。(也就是说,如果在建立会话以后,没有手动更改过会话变量与全局变量的值,那所有这些变量的值都是一样的。)

  全局变量与会话变量的区别就在于,对全局变量的修改会影响到整个服务器,但是对会话变量的修改,只会影响到当前的会话(也就是当前的数据库连接)。我们可以利用show session variables;语句将所有的会话变量输出

以上关于变量的这四张表其实也是内存表,每次系统启动默认从my.cnf读取生成,如果my.cnf没有配置的话就会使用默认值。

PS:其实关于表空间文件那边也应该扩充一下,以后可以学习一下分享出来,今天有点晚了。就分享这么多吧

原文地址:https://www.cnblogs.com/timxgb/p/10124142.html

时间: 2024-11-05 22:54:25

information_schema系列三(文件,变量)的相关文章

Python文件常用的三个变量

1 '''Python文件常用的三个变量 2 __doc__.__name__.__file__ 3 4 __doc__——用来显示文件的注释,文件的注释都是写在文件的开头, 5 以""" doc """标注的内容.可以直接调用.也可以查看其他文件的注释, 6 如导入了一个Queue模块,可以用print Queue.__doc__来查看 7 8 __name__——用来检查是否是主文件的一个重要方法,比如是主动执行的此文件, 9 那么值就是'_

Cocos2d-x创建android项目(cocos2d-x系列三)

不例外.最显眼的就是,在文件的根目录中增加了一个名为setup.py的配置文件.运行它可以配置系统的一些环境变量. 2.创建项目 新的版本我们来动手创建一个新项目吧.找到tools文件夹....额 打包的那个名为create-project.py的文件似乎木有了!原来,在新版本中,创建新项目已经可以通过命令行来创建了,相对于先前版本的图形界面,命令行更简洁.我们要在setup.py中设置参数.以mac平台为例,我们进入到对应目录,运行脚本setup.py: Setting up cocos2d-

Maven 系列 三 :坐标和依赖

1 . 坐标 maven 的所有构件均通过坐标进行组织和管理.maven 的坐标通过 5 个元素进行定义,其中 groupId.artifactId.version 是必须的,packaging 是可选的(默认为jar),classifier 是不能直接定义的. groupId:定义当前 Maven 项目所属的实际项目,跟 Java 包名类似,通常与域名反向一一对应. artifactId:定义当前 Maven 项目的一个模块,默认情况下,Maven 生成的构件,其文件名会以 artifactI

Android自定义控件系列三:自定义开关按钮(三)--- 自定义属性

尊重原创,转载请注明出处:http://blog.csdn.net/cyp331203/article/details/40855377 接之前的:Android自定义控件系列二:自定义开关按钮(一)和Android自定义控件系列三:自定义开关按钮(二)继续,今天要讲的就是如何在自定义控件中使用自定义属性,实际上这里有两种方法,一种是配合XML属性资源文件的方式,另一种是不需要XML资源文件的方式:下面我们分别来看看: 一.配合XML属性资源文件来使用自定义属性: 那么还是针对我们之前写的自定义

Cocos2d-x 系列三之C++语言

1.面向对象<1>直接定义类 class People { public: void sayHello() { printf("hello c oop \n"); } }; People * p = new People(); p->sayHello(); <2>使用头文件定义 Ml.h #ifndef ML_H_ #define ML_H_ namespace cjyn { // 命名空间 class Ml { public: void sayHello

S5PV210开发系列三_简易Bootloader的实现

S5PV210开发系列三 简易Bootloader的实现 象棋小子          1048272975 Bootloader是嵌入式系统上电后第一段执行的代码.对于功能简单的处理器,可能并没有Bootloader的概念,但对于应用处理器,有不同的启动方式,不同的存储设备(Nand flash.sd/mmc.DDR2.SRAM等),不同的操作系统等,往往需要一个Bootloader先初始化CPU和相关的硬件,建立内存空间映射,把内核或应用程序加载到相应的内存执行位置,最后调用内核或应用程序,释

使用 PySide2 开发 Maya 插件系列三:qt语言国际化(internationalization)

使用 PySide2 开发 Maya 插件系列三:qt语言国际化(internationalization) 前言: 这是 qt for python 的语言国际化,基于 UI 的,python 也有自身的语言国际化,两者是不同的. 先来看最终效果: 前期准备: 这次创建一个 main window 在 menu bar 加一个 language 的 menu: 我们还要对 action 进行一些设置,如下: 生成 .py 文件: 生成代码: 1 # -*- coding: utf-8 -*-

Android高效率编码-第三方SDK详解系列(三)——JPush推送牵扯出来的江湖恩怨,XMPP实现推送,自定义客户端推送

Android高效率编码-第三方SDK详解系列(三)--JPush推送牵扯出来的江湖恩怨,XMPP实现推送,自定义客户端推送 很久没有更新第三方SDK这个系列了,所以更新一下这几天工作中使用到的推送,写这个系列真的很要命,你要去把他们的API文档大致的翻阅一遍,而且各种功能都实现一遍,解决各种bug各种坑,不得不说,极光推送真坑,大家使用还是要慎重,我们看一下极光推送的官网 https://www.jpush.cn/common/ 推送比较使用,很多软件有需要,所以在这个点拿出来多讲讲,我们本节

Spring Data 系列(三) Spring+JPA(spring-data-commons)

本章是Spring Data系列的第三篇.系列文章,重点不是讲解JPA语法,所以跑开了JPA的很多语法等,重点放在环境搭建,通过对比方式,快速体会Spring 对JPA的强大功能. 准备代码过程中,保持了每个例子的独立性,和简单性,准备的源码包,下载即可使用.如果,对JPA语法想深入研究的话,直接下载在此基础上进行测试. 前言 Spring Data 系列(一) 入门:简单介绍了原生态的SQL使用,以及JdbcTemplate的使用,在这里写SQL的活还需要自己准备. Spring Data 系