1、information_schema
1)所有表
mysql> show tables;
+---------------------------------------+
| Tables_in_information_schema |
+---------------------------------------+
| CHARACTER_SETS |字符集,mysql实例可用字符集的信息。SHOW CHARACTER SET 结果来源于这里。
| COLLATIONS |各字符集的校对规则。
| COLLATION_CHARACTER_SET_APPLICABILITY |指明了可用于校对的字符集。是SHOW COLLATION的前两个显示字段
| COLUMNS |表中所有列的详细信息,字段名、类型、权限等。SHOW COLUMNS FROM schemaname.tablename来源于这里。
| COLUMN_PRIVILEGES |列的权限控制,来源于mysql.columns_priv。
| ENGINES |myql的引擎信息,引擎名、是否支持等。SHOW ENGINES来源于这里。
| EVENTS |时间触发器,与triggers的事件触发不同,event类似于linux crontab计划任务,用于时间触发。通过单独或调用存储过程使用,在某一特定的时间点,触发相关的SQL语句或存储过程。来源于MYSQL.EVENT表。SHOW EVENTS的结果来源于这里。
| FILES |
| GLOBAL_STATUS |列出server的状态信息。SHOW GLOBAL STATUS的结果来源于这里。
| GLOBAL_VARIABLES |所有mysql的全局变量的设置信息。如自增auto_increment_increment、是否自动提交autocommit等。SHOW GLOBAL VARIABLES的结果来源于这里。
| KEY_COLUMN_USAGE |具有约束的键列信息,表名、字段名等。
| PARAMETERS |
| PARTITIONS |所有表的分区信息。
| PLUGINS |server的插件信息,如partition就是其中一插件。SHOW PLUGINS的结果来源于这里。
| PROCESSLIST |server上正在跑着的线程。SHOW PROCESSLIST的结果来源于这里。
| PROFILING |绘画中语句执行时的资源分配概要。SHOW PROFILES的结果来源于这里。
| REFERENTIAL_CONSTRAINTS |所有表的外键设置信息。当要删除多张表时,可以先查看该表获取外键信息,再按照顺序删除即可。
| ROUTINES |存储子程序(存储程序和存储函数)的信息。 mysql.proc。
| SCHEMATA |当前mysql示例中所有数据库的信息。SHOW DATABASES的结果来源于这里。
| SCHEMA_PRIVILEGES |数据库权限的信息。来源于mysql.db。
| SESSION_STATUS |server的相关状态信息。SHOW SESSION STATUS的结果来源于这里。
| SESSION_VARIABLES |所有mysql 的系统变量。SHOW SESSION VARIABLES的结果来源于这里。
| STATISTICS |表索引的详细信息,表名、索引名、索引类型、字段名等。SHOW INDEX FROM schemaname.tablename来源于这里。
| TABLES |数据库中所有表的详细信息(包括视图),表名、行数、创建时间等。SHOW TABLES FROM schema_name的结果来源这里。
| TABLESPACES |所有的表空间信息。
| TABLE_CONSTRAINTS |表的字段约束信息,表名、约束类型等。
| TABLE_PRIVILEGES |表权限信息。来源于mysql.tables_priv。
| TRIGGERS |触发程序的信息,必须有super权限才能查看该表。
| USER_PRIVILEGES |用户的权限信息表。来源于mysql.user。
| VIEWS |数据库中的视图的信息。由SHOW VIEWS的全下才能查看视图信息。
| INNODB_BUFFER_PAGE |以下几张表,是InnoDB存储引擎的相关设置。
| INNODB_TRX |
| INNODB_BUFFER_POOL_STATS |
| INNODB_LOCK_WAITS |
| INNODB_CMPMEM |
| INNODB_CMP |
| INNODB_LOCKS |
| INNODB_CMPMEM_RESET |
| INNODB_CMP_RESET |
| INNODB_BUFFER_PAGE_LRU |
+---------------------------------------+
40 rows in set (0.00 sec)
2)
2、mysql
1)所有表
mysql> show tables;
+---------------------------+
| Tables_in_mysql |
+---------------------------+
| columns_priv |
| db |
| event |
| func |
| general_log |
| help_category |
| help_keyword |
| help_relation |
| help_topic |
| host |
| ndb_binlog_index |
| plugin |
| proc |
| procs_priv |
| proxies_priv |
| servers |
| slow_log |
| tables_priv |
| time_zone |
| time_zone_leap_second |
| time_zone_name |
| time_zone_transition |
| time_zone_transition_type |
| user |
+---------------------------+
2)常用表
表名 Mysql源表 | 描述 | 字段 | information_schema 对应的视图 |
Proc | 存储过程/存储函数 | 存储过程/存储函数SQL等详细信息 |
|
Procs_priv | 存储过程/存储函数的权限信息 | 用户列、存储过程信息 |
|
Columns_priv | 列权限信息 | 用户列、设置表的权限等 (默认数据为空) | COLUMNS_PRIVILEGES |
tables_priv (MyISAM) | 对单个表的权限设置 | 用户列、设置表的权限等 (默认数据为空) | TABLES_PRIVILEGES (memory) |
Db (MyISAM) | 方案(数据库)权限表 | 用户列、权限列 (默认只有两行数据) | SCHEMA_PRIVILEGES (memory) |
User (MyISAM) | 用户权限表 | 用户列、权限列、安全列、资源控制列 | USER_PRIVILEGES (memory) |
User表字段:
用户列 | Host、User、Password | 用户的基本信息,登录host、用户名、密码 |
权限列 | Select_priv、Create_priv、Create_view_priv、Event_priv等 | 增删查改等权限,以及管理权限 |
安全列 | ssl_type、ssl_cipher、x509_issuer、x509_subject | ssl用于加密,x509标识用户。一般为N |
资源控制列 | max_questions、max_updates、max_connections、max_user_connections | max_question字段:每小时最大查询 update字段:每小时最大更新 conn字段:每小时建立的最大连接 nuser_conn字段:单个用户最大连接数 |
3、mysql的show命令
参考:http://www.zhangyunguang.com/?post=19