mysql information_schema 数据库简介:

1、CHARACTER_SETS 表

CREATE TEMPORARY TABLE `CHARACTER_SETS` (
  `CHARACTER_SET_NAME` varchar(32) NOT NULL DEFAULT ‘‘,  字符集的名字,例如set names utf8;
  `DEFAULT_COLLATE_NAME` varchar(32) NOT NULL DEFAULT ‘‘, 字符集的全称
  `DESCRIPTION` varchar(60) NOT NULL DEFAULT ‘‘,  字段的描述
  `MAXLEN` bigint(3) NOT NULL DEFAULT 0    字符集的长度,例如utf8是3个字节
) ENGINE=MEMORY DEFAULT CHARSET=utf8

里边存贮的是mysql支持的字符集。

2、COLUMNS表,储存了所有的列信息
CREATE TEMPORARY TABLE `COLUMNS` (
  `TABLE_CATALOG` varchar(512) NOT NULL DEFAULT ‘‘,
  `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT ‘‘,   数据库名字
  `TABLE_NAME` varchar(64) NOT NULL DEFAULT ‘‘,        表名
  `COLUMN_NAME` varchar(64) NOT NULL DEFAULT ‘‘,    列名
  `ORDINAL_POSITION` bigint(21) unsigned NOT NULL DEFAULT 0,
  `COLUMN_DEFAULT` longtext,
  `IS_NULLABLE` varchar(3) NOT NULL DEFAULT ‘‘,        是否是null
  `DATA_TYPE` varchar(64) NOT NULL DEFAULT ‘‘,        字段数据类型
  `CHARACTER_MAXIMUM_LENGTH` bigint(21) unsigned DEFAULT NULL,
  `CHARACTER_OCTET_LENGTH` bigint(21) unsigned DEFAULT NULL,
  `NUMERIC_PRECISION` bigint(21) unsigned DEFAULT NULL,
  `NUMERIC_SCALE` bigint(21) unsigned DEFAULT NULL,
  `DATETIME_PRECISION` bigint(21) unsigned DEFAULT NULL,
  `CHARACTER_SET_NAME` varchar(32) DEFAULT NULL, 字段的编码
  `COLLATION_NAME` varchar(32) DEFAULT NULL, 编码的全称
  `COLUMN_TYPE` longtext NOT NULL,                 字段具体类型
  `COLUMN_KEY` varchar(3) NOT NULL DEFAULT ‘‘,
  `EXTRA` varchar(30) NOT NULL DEFAULT ‘‘,
  `PRIVILEGES` varchar(80) NOT NULL DEFAULT ‘‘,    可以对该字段进行的操作,例如select,insert,update
  `COLUMN_COMMENT` varchar(1024) NOT NULL DEFAULT ‘‘    字段你的备注
) ENGINE=MyISAM DEFAULT CHARSET=utf8
记录了各个表里边所有字段的相关信息

3、ENGINES,数据库引擎表
CREATE TEMPORARY TABLE `ENGINES` (
  `ENGINE` varchar(64) NOT NULL DEFAULT ‘‘,    数据库引擎名称
  `SUPPORT` varchar(8) NOT NULL DEFAULT ‘‘,        是否支持
  `COMMENT` varchar(80) NOT NULL DEFAULT ‘‘,    注释
  `TRANSACTIONS` varchar(3) DEFAULT NULL,        是否支持事物
  `XA` varchar(3) DEFAULT NULL,                    是否支持XA分布式事物
  `SAVEPOINTS` varchar(3) DEFAULT NULL            
) ENGINE=MEMORY DEFAULT CHARSET=utf8
存贮了数据对引擎的支持情况

4、GLOBAL_STATUS表,存储一些全局状态,是show status结果的来源。(相对于session级别的)
CREATE TEMPORARY TABLE `GLOBAL_STATUS` (
  `VARIABLE_NAME` varchar(64) NOT NULL DEFAULT ‘‘, 变量名称
  `VARIABLE_VALUE` varchar(2048) DEFAULT NULL        变量值
) ENGINE=MEMORY DEFAULT CHARSET=utf8
可以查询数据库相关的一些状态。

5、GLOBAL_VARIABLES表,全局变量名称表(相对于session级别的)
CREATE TEMPORARY TABLE `GLOBAL_VARIABLES` (
  `VARIABLE_NAME` varchar(64) NOT NULL DEFAULT ‘‘, 变量名称
  `VARIABLE_VALUE` varchar(2048) DEFAULT NULL        变量值
) ENGINE=MEMORY DEFAULT CHARSET=utf8
存储了数据库的变量,mysql客户端的set global variabe,就是操作的此表

6、PROCESSLIST表,当前进程表,show processlist数据来源
CREATE TEMPORARY TABLE `PROCESSLIST` (
  `ID` bigint(21) unsigned NOT NULL DEFAULT 0,
  `USER` varchar(16) NOT NULL DEFAULT ‘‘,   连接的用户名
  `HOST` varchar(64) NOT NULL DEFAULT ‘‘,   主机地址和端口
  `DB` varchar(64) DEFAULT NULL,            连接的数据库
  `COMMAND` varchar(16) NOT NULL DEFAULT ‘‘,    执行的命令
  `TIME` int(7) NOT NULL DEFAULT 0,    耗时
  `STATE` varchar(64) DEFAULT NULL,        状态
  `INFO` longtext,                        信息
  `TIME_MS` bigint(21) NOT NULL DEFAULT 0,
  `ROWS_SENT` bigint(21) unsigned NOT NULL DEFAULT 0,
  `ROWS_EXAMINED` bigint(21) unsigned NOT NULL DEFAULT 0
) ENGINE=MyISAM DEFAULT CHARSET=utf8

7、PROFILING表,sql语句的性能profile表,例如执行了一个select语句,客户端返回的一些列信息
CREATE TEMPORARY TABLE `PROFILING` (
  `QUERY_ID` int(20) NOT NULL DEFAULT 0,
  `SEQ` int(20) NOT NULL DEFAULT 0,
  `STATE` varchar(30) NOT NULL DEFAULT ‘‘,
  `DURATION` decimal(9,6) NOT NULL DEFAULT 0.000000,
  `CPU_USER` decimal(9,6) DEFAULT NULL,
  `CPU_SYSTEM` decimal(9,6) DEFAULT NULL,
  `CONTEXT_VOLUNTARY` int(20) DEFAULT NULL,
  `CONTEXT_INVOLUNTARY` int(20) DEFAULT NULL,
  `BLOCK_OPS_IN` int(20) DEFAULT NULL,
  `BLOCK_OPS_OUT` int(20) DEFAULT NULL,
  `MESSAGES_SENT` int(20) DEFAULT NULL,
  `MESSAGES_RECEIVED` int(20) DEFAULT NULL,
  `PAGE_FAULTS_MAJOR` int(20) DEFAULT NULL,
  `PAGE_FAULTS_MINOR` int(20) DEFAULT NULL,
  `SWAPS` int(20) DEFAULT NULL,
  `SOURCE_FUNCTION` varchar(30) DEFAULT NULL,
  `SOURCE_FILE` varchar(20) DEFAULT NULL,
  `SOURCE_LINE` int(20) DEFAULT NULL
) ENGINE=MEMORY DEFAULT CHARSET=utf8

8、SCHEMA_PRIVILEGES数据库权限表,记录了账户对数据都有什么权限
CREATE TEMPORARY TABLE `SCHEMA_PRIVILEGES` (
  `GRANTEE` varchar(81) NOT NULL DEFAULT ‘‘,   用户@host
  `TABLE_CATALOG` varchar(512) NOT NULL DEFAULT ‘‘,
  `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT ‘‘,  数据库名称
  `PRIVILEGE_TYPE` varchar(64) NOT NULL DEFAULT ‘‘,   权限,例如insert
  `IS_GRANTABLE` varchar(3) NOT NULL DEFAULT ‘‘   
) ENGINE=MEMORY DEFAULT CHARSET=utf8

9、SESSION_STATUS,SESSION_VARIABLES,同上边GLOBAL_STATUS,GLOBAL_VARIABLES,是session级别的变量

10、STATISTICS表,关于索引的统计情况。
CREATE TEMPORARY TABLE `STATISTICS` (
  `TABLE_CATALOG` varchar(512) NOT NULL DEFAULT ‘‘,
  `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT ‘‘,    数据库
  `TABLE_NAME` varchar(64) NOT NULL DEFAULT ‘‘,        表名
  `NON_UNIQUE` bigint(1) NOT NULL DEFAULT 0,        是否唯一索引,0表示是,1不是
  `INDEX_SCHEMA` varchar(64) NOT NULL DEFAULT ‘‘,    
  `INDEX_NAME` varchar(64) NOT NULL DEFAULT ‘‘,        索引名字
  `SEQ_IN_INDEX` bigint(2) NOT NULL DEFAULT 0,
  `COLUMN_NAME` varchar(64) NOT NULL DEFAULT ‘‘,    列名
  `COLLATION` varchar(1) DEFAULT NULL,    
  `CARDINALITY` bigint(21) DEFAULT NULL,
  `SUB_PART` bigint(3) DEFAULT NULL,
  `PACKED` varchar(10) DEFAULT NULL,
  `NULLABLE` varchar(3) NOT NULL DEFAULT ‘‘,
  `INDEX_TYPE` varchar(16) NOT NULL DEFAULT ‘‘,    索引类型,例如BTree
  `COMMENT` varchar(16) DEFAULT NULL,
  `INDEX_COMMENT` varchar(1024) NOT NULL DEFAULT ‘‘
) ENGINE=MEMORY DEFAULT CHARSET=utf8

11、TABLES表,存贮了表相关的信息。
CREATE TEMPORARY TABLE `TABLES` (
  `TABLE_CATALOG` varchar(512) NOT NULL DEFAULT ‘‘,
  `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT ‘‘,   表所在的数据库
  `TABLE_NAME` varchar(64) NOT NULL DEFAULT ‘‘,    表名
  `TABLE_TYPE` varchar(64) NOT NULL DEFAULT ‘‘,
  `ENGINE` varchar(64) DEFAULT NULL,          表引擎
  `VERSION` bigint(21) unsigned DEFAULT NULL,
  `ROW_FORMAT` varchar(20) DEFAULT NULL,
  `TABLE_ROWS` bigint(21) unsigned DEFAULT NULL,
  `AVG_ROW_LENGTH` bigint(21) unsigned DEFAULT NULL,
  `DATA_LENGTH` bigint(21) unsigned DEFAULT NULL,
  `MAX_DATA_LENGTH` bigint(21) unsigned DEFAULT NULL,
  `INDEX_LENGTH` bigint(21) unsigned DEFAULT NULL,
  `DATA_FREE` bigint(21) unsigned DEFAULT NULL,
  `AUTO_INCREMENT` bigint(21) unsigned DEFAULT NULL,
  `CREATE_TIME` datetime DEFAULT NULL,
  `UPDATE_TIME` datetime DEFAULT NULL,
  `CHECK_TIME` datetime DEFAULT NULL,
  `TABLE_COLLATION` varchar(32) DEFAULT NULL,
  `CHECKSUM` bigint(21) unsigned DEFAULT NULL,
  `CREATE_OPTIONS` varchar(255) DEFAULT NULL,
  `TABLE_COMMENT` varchar(2048) NOT NULL DEFAULT ‘‘
) ENGINE=MEMORY DEFAULT CHARSET=utf8


可以在不同的beta环境,用户diff数据库和表的不同,进而产生sql语句,同步数据库,
下一步会写一个关于数据库表结构同步的脚本。

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。