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语句,同步数据库,
下一步会写一个关于数据库表结构同步的脚本。