------------------------------------------我是分割线--------------------------------------------------
MySQL授权系统通常是通过MySQL数据库中的五个表来实现的,这些表有user、db、host、tables_priv和columns_priv。
user表——该表决定是否允许用户连接到服务器。如果允许连接,权限字段则为该用户的全局权限。
db表——用于决定哪些用户可以从哪些主机访问哪些数据库。包含在db表中的权限适用于这个表标识的数据库。
host表——当您想在db表的范围之内扩展一个条目时,就会用到这个表。举例来说,如果某个db允许通过多个主机访问的话,那么超级用户就可以让db表内将host列为空,然后用必要的主机名填充host表。
tables_priv表——该表与db表相似,不同之处是它用于表而不是数据库。这个表还包含一个其他字段类型,包括timestamp和grantor两个字段,用于存储时间戳和授权方。
columns_priv——该表作用几乎与db和tables_priv表一样,不同之处是它提供的是针对某些表的特定列的权限。这个表也多出了一个字段类型,即其他字段,包括了一个timestamp列,用于存放时间戳。
mysql数据库存储用户表的系统库是information_schema
存储用户表的系统表是tables
字段 | 含义 |
Table_catalog | 数据表登记目录 |
Table_schema | 数据表所属的数据库名 |
Table_name | 表名称 |
Table_type | 表类型[system view|base table] |
Engine | 使用的数据库引擎[MyISAM|CSV|InnoDB] |
Version | 版本,默认值10 |
Row_format | 行格式[Compact|Dynamic|Fixed] |
Table_rows | 表里所存多少行数据 |
Avg_row_length | 平均行长度 |
Data_length | 数据长度 |
Max_data_length | 最大数据长度 |
Index_length | 索引长度 |
Data_free | 自由数据? |
Auto_increment | 做自增主键的自动增量当前值 |
Create_time | 表的创建时间 |
Update_time | 表的更新时间 |
Check_time | 表的检查时间 |
Table_collation | 表的字符校验编码集 |
Checksum | 校验和 |
Create_options | 创建选项 |
Table_comment | 表的注释、备注 |
存储用户表字段的系统表是columns
字段 | 含义 |
Table_catalog | 数据表登记目录 |
Table_schema | 数据表所属的数据库名 |
Table_name | 所属的表名称 |
Column_name | 列名称 |
Ordinal_position | 字段在表中第几列 |
Column_default | 列的默认数据 |
Is_nullable | 字段是否可以为空 |
Data_type | 数据类型 |
Character_maximum_length | 字符最大长度 |
Character_octet_length | 字节长度? |
Numeric_precision | 数据精度 |
Numeric_scale | 数据规模 |
Character_set_name | 字符集名称 |
Collation_name | 字符集校验名称 |
Column_type | 列类型 |
Column_key | 关键列[NULL|MUL|PRI] |
Extra | 额外描述[NULL|on update CURRENT_TIMESTAMP|auto_increment] |
Privileges | 字段操作权限[select|select,insert,update,references] |
Column_comment | 字段注释、描述 |
存储键值的系统表是key_column_usage
字段 | 含义 |
Constraint_catalog | 约束登记目录 |
Constraint_schema | 约束所属的数据库名 |
Constraint_name | 约束的名称 |
Table_catalog | 数据表等级目录 |
Table_schema | 键值所属表所属的数据库名(一般与Constraint_schema值相同) |
Table_name | 键值所属的表名 |
Column_name | 键值所属的列名 |
Ordinal_position | 键值所属的字段在表中第几列 |
Position_in_unique_constraint | 键值所属的字段在唯一约束的位置(若为外键值为1) |
Referenced_talble_schema | 外键依赖的数据库名(一般与Constraint_schema值相同) |
Referenced_talble_name | 外键依赖的表名 |
Referenced_column_name | 外键依赖的列名 |
存储主键约束、外键约束、唯一约束、check约束、非空约束的系统表是table_constraints
字段 | 含义 |
Constraint_catalog | 约束登记目录 |
Constraint_schema | 约束所属的数据库名 |
Constraint_name | 约束的名称 |
Table_schema | 约束依赖表所属的数据库名(一般与Constraint_schema值相同) |
Table_name | 约束所属的表名 |
Constraint_type | 约束类型[primary key|foreign key|unique|check|not null] |
存储索引的系统表是statistics
字段 | 含义 |
Table_catalog | 数据表登记目录 |
Table_schema | 索引所属表的数据库名 |
Table_name | 索引所属的表名 |
Non_unique | 字段不唯一的标识 |
Index_schema | 索引所属的数据库名(一般与table_schema值相同) |
Index_name | 索引名称 |
Seq_in_index |
|
Column_name | 索引列的列名 |
Collation | 校对,列值全显示为A |
Cardinality | 基数(一般与该表的数据行数相同) |
Sub_part |
|
Packed | 是否包装过,默认为NULL |
Nullable | 是否为空[‘’|YES|NO] |
Index_type | 索引的类型,列值全显示为BTREE(平衡树索引) |
Comment | 索引注释、备注 |
----------------------------------------------我是分割线-------------------------------------