25. TABLESPACES
TABLESPACES
表提供有关活动MySQL Cluster表空间的信息。
TABLESPACES
表有以下列:
- TABLESPACE_NAME :表空间名称
- ENGINE :表空间使用的存储引擎名称
- TABLESPACE_TYPE :表空间类型
- LOGFILE_GROUP_NAME:分配给表空间的日志文件组的名称。
- EXTENT_SIZE :属于表空间的文件使用的扩展区的大小(以字节为单位)。
- AUTOEXTEND_SIZE :不适用
- MAXIMUM_SIZE :不适用
- NODEGROUP_ID :不适用
- TABLESPACE_COMMENT:不适用
Notes
TABLESPACES表是非标准的INFORMATION_SCHEMA表。
TABLESPACES表不提供有关InnoDB表空间的信息。 有关InnoDB表空间元数据,请参阅INFORMATION_SCHEMA
INNODB_SYS_TABLESPACES
和INNODB_SYS_DATAFILES
表。 FILES表还为InnoDB表空间提供元数据。
26. TABLE_CONSTRAINTS
TABLE_CONSTRAINTS
表描述哪些表具有约束。
TABLE_CONSTRAINTS
表有以下列:
- CONSTRAINT_CATALOG:约束所属目录的名称。该值始终为def。
- CONSTRAINT_SCHEMA :约束所属的schema(数据库)的名称。
- CONSTRAINT_NAME :约束名称
- TABLE_SCHEMA :表所属的schema(数据库)的名称。
- TABLE_NAME :表名称
- CONSTRAINT_TYPE :约束的类型。 值可以是UNIQUE,PRIMARY KEY,FOREIGN KEY或CHECK。 这是CHAR(非ENUM)列。 在MySQL支持CHECK之前,CHECK值不可用。
当Non_unique列为0时,UNIQUE和PRIMARY KEY信息与从SHOW INDEX的输出中的Key_name列获得的信息大致相同。
示例
mysql> select * from table_constraints where TABLE_SCHEMA='test';
+--------------------+-------------------+-----------------+--------------+------------+-----------------+
| CONSTRAINT_CATALOG | CONSTRAINT_SCHEMA | CONSTRAINT_NAME | TABLE_SCHEMA | TABLE_NAME | CONSTRAINT_TYPE |
+--------------------+-------------------+-----------------+--------------+------------+-----------------+
| def | test | PRIMARY | test | t1 | PRIMARY KEY |
| def | test | CO | test | t3 | FOREIGN KEY |
+--------------------+-------------------+-----------------+--------------+------------+-----------------+
2 rows in set (0.00 sec)
27. TABLE_PRIVILEGES
TABLE_PRIVILEGES
表提供有关表权限的信息。它从mysql.tables_priv
系统表中获取其值。
TABLE_PRIVILEGES
表有以下列:
- GRANTEE :授予权限的帐户的名称,格式为
"user_name"@"host_name"
。 - TABLE_CATALOG :表所属目录的名称。该值始终为def。
- TABLE_SCHEMA :表所属的schema(数据库)的名称。
- TABLE_NAME :表名称
- PRIVILEGE_TYPE:授予的特权。该值可以是可以在表级别授予的任何权限;请参见“GRANT语法”。每行列出一个权限,因此被授权者拥有每个表权限一行。
- IS_GRANTABLE :如果用户具有GRANT OPTION权限,则为YES,否则为NO。输出不会将GRANT OPTION列为具有PRIVILEGE_TYPE =’GRANT OPTION’的单独行。
Notes
- TABLE_PRIVILEGES表是非标准的INFORMATION_SCHEMA表。
以下语句不等价:
mysql> select * from information_schema.table_privileges;
+-----------------------------+---------------+--------------+------------+----------------+--------------+
| GRANTEE | TABLE_CATALOG | TABLE_SCHEMA | TABLE_NAME | PRIVILEGE_TYPE | IS_GRANTABLE |
+-----------------------------+---------------+--------------+------------+----------------+--------------+
| 'mysql.session'@'localhost' | def | mysql | user | SELECT | NO |
| 'mysql.sys'@'localhost' | def | sys | sys_config | SELECT | NO |
+-----------------------------+---------------+--------------+------------+----------------+--------------+
mysql> show grants;
+---------------------------------------------------------------------+
| Grants for root@localhost |
+---------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION |
| GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION |
+---------------------------------------------------------------------+