文章目录
- SHOW命令介绍
- 常用SHOW命令汇总
- 常用命令汇总表
- - 服务器运行状态信息
- - 支持的字符集信息
- - 支持的校对规则信息
- - 上一个执行语句的告警信息
- - 上一个执行语句的错误信息
- - 服务器线程信息
- - 用户权限信息
- - 支持的权限列表
- - 二进制日志文件列表
- - 主库二进制日志文件列表
- - 系统变量信息
- - 主服务器状态信息
- - 从服务器状态信息
- - 从服务器HOST列表
- - SQL性能分析
- - 支持的存储引擎列表
- - 指定存储引擎状态
- - 指定存储引擎互斥参数
- - 数据库名称集合
- - 数据库构建信息
- - 数据库中表名称
- - 表的构建语句
- - 数据库的所有表的状态信息
- - 表的所有列信息
- - 指定表的所有索引信息
- - 已经在表缓存中打开的非临时表信息
- - 指定数据库的所有触发器信息
- - 指定数据库中的所有事件信息
- - 创建触发器语句
- - 创建事件语句
- - 创建函数语句
- - 创建存储函数语句
- - 创建用户语句
- - 创建视图语句
SHOW命令介绍
MySQL SHOW命令主要用于显示数据库、表、列、用户、权限等的信息。这些信息被MySQL存储在数据库的表中,MySQL从内部表中提取这些信息。
- SHOW命令用法
- SHOW命令结合LIKE关键字对结果进行过滤:表示对第一个字段进行过滤
- SHOW命令结合WHERE关键字对结果进行过滤:用法和正常的SELETE语句等相同
常用SHOW命令汇总
常用命令汇总表
命令 | 描述 |
---|---|
show status | 显示服务器运行状态信息(如正在运行的线程数量) |
show character set | 显示服务器支持的所有字符集 |
show collation | 显示服务器支持的所有校对规则 |
show warnings | 显示最后一个执行的语句的告警信息(包括:错误、警告和注意信息) |
show errors | 显示最后一个执行的语句的错误信息 |
show processlist | 显示系统正在运行的所有线程信息 |
show grants [for user_name] | 显示用户权限 |
show privileges | 显示服务器支持的权限列表 |
show binary logs | 显示二进制列表信息 |
show master logs | 显示主库的二进制列表信息(单体数据库中与show binary logs相同) |
show [global | session] variables | 显示全局(会话)系统变量信息,默认会话 |
show master status | 显示主服务器的状态信息 |
show slave status | 显示从服务器的状态信息 |
show slave hosts | 显示从服务器列表信息 |
show profiles | 显示最近15条SQL性能分析信息 |
show profile [参数1,参数2] for query [Query_ID] | 显示指定Query_ID的SQL性能分析详情 |
show engines | 显示服务器支持的存储引擎列表 |
show engine engine_name status | 显示存储引擎状态 |
show engine engine_name mutex | 显示存储引擎互斥参数 |
show databases | 显示所有数据库名称 |
show create database db_name | 显示数据库的构建语句 |
show tables [from db_name] | 显示数据库中所有表名称 |
show create table table_name | 显示表的构建语句 |
show table status [form db_name] | 显示数据库所有表的状态信息 |
show columns from table_name | 显示当前数据库的指定表的所有列信息 |
show columns from db_name.table_name show columns from table_name from db_name | 显示指定数据库的指定表的所有列信息 |
show fields from table_name | 显示当前数据库的指定表的所有列信息 |
show fields from db_name.table_name show fields from table_name from db_name | 显示指定数据库的指定表的所有列信息 |
show index from table_name | 显示当前数据库的指定表的所有索引信息 |
show index from db_name.table_name show index from table_name from db_name | 显示指定数据库的指定表的所有索引信息 |
show keys from table_name | 显示当前数据库的指定表的所有索引信息 |
show keys from db_name.table_name show keys from table_name from db_name | 显示指定数据库的指定表的所有索引信息 |
show open tables [from db_name] | 显示已经在表缓存中打开的非临时表信息 |
show triggers [from db_name] | 显示指定数据库中的所有触发器信息 |
show events [from db_name] | 显示指定数据库中的所有事件信息 |
show create trigger trig_name | 显示创建触发器语句 |
show create event event_name | 显示创建事件语句 |
show create function func_name | 显示创建函数语句 |
show create procedure proc_name | 显示创建存储函数语句 |
show create user user_name | 显示创建用户语句 |
show create view view_name | 显示创建视图语句 |
- 服务器运行状态信息
show status
- 支持的字符集信息
show character set
- 支持的校对规则信息
show collation
- 上一个执行语句的告警信息
explain select id from region where id = 9;
show warnings;
显示的信息包括:错误、告警、注意。
- 上一个执行语句的错误信息
explain select id from region where id = 9;
show errors;
与show warnings不同的是:show errors只显示错误信息。
- 服务器线程信息
- 用户无process权限,只可以查看自己的线程信息
- 用户有process权限,就可以查看所有的线程信息(包括密码)
- full关键字显示所有info列的信息,不带关键字full时只显示前100字符。
show processlist
- 用户权限信息
1. 查询所有用户信息
select * from mysql.user
2. 查询当前用户权限
show grants;
或
show grants for current_user();
或
show grants for current_user;
3. 查询指定用户权限
show grants for root;
- 支持的权限列表
show privileges
- 二进制日志文件列表
show binary logs
- 主库二进制日志文件列表
show master logs
show master logs和show binary logs相同。
- 系统变量信息
show variables与show session variables相同,默认查询会话级系统变量信息。
show variables;
show session variables;
show global variables;
- 主服务器状态信息
show master status
- 从服务器状态信息
show slave status
- 从服务器HOST列表
show slave hosts
- SQL性能分析
使用SQL性能分析需开启性能分析开关。
-- 查询会话性能分析开关是否开启
show variables like 'profiling';
-- 开启会话新能分析开关
set profiling=OFF;
1. 最近15条SQL性能分析信息
show profiles
- Duration:耗时
2. 可以修改默认查询条数
set profiling_history_size = 100;
3. 指定Query_ID的SQL性能分析详情
格式:show profile [参数1,参数2] for query [Query_ID]
参数可选值:
- ALL显示所有信息
- BLOCK IO显示块输入和输出操作的计数
- CONTEXT SWITCHES显示自愿和非自愿上下文切换的计数
- CPU显示用户和系统 CPU 使用时间
- IPC显示发送和接收的消息计数
- MEMORY当前未实现
- PAGE FAULTS显示主要和次要页面错误的计数
- SOURCE显示源代码中的函数名称,以及发生函数的文件的名称和行号
- SWAPS显示交换计数
show profile cpu,block io for query 1380;
- 支持的存储引擎列表
show engines
- 指定存储引擎状态
show engine InnoDB status
- 指定存储引擎互斥参数
show engine InnoDB mutex
- 数据库名称集合
show databases
- 数据库构建信息
show create database demo
- 数据库中表名称
-- 显示当前数据库中所有表名称
show tables
-- 显示指定数据库中所有表名称
show tables from demo
- 表的构建语句
show create table timed_task
- 数据库的所有表的状态信息
-- 当前数据库的所有表状态信息
show table status
-- 指定数据库的所有表状态信息
show table status from demo
- 表的所有列信息
-- 当前数据库指定表所有列信息
show columns from timed_task;
-- 指定数据库指定表所有列信息
show columns from demo.time_table;
-- 指定数据库指定表所有列信息
show columns from time_table from demo;
-- 当前数据库指定表所有列信息
show fields from timed_task;
-- 指定数据库指定表所有列信息
show fields from demo.time_table;
-- 指定数据库指定表所有列信息
show fields from time_table from demo;
- 指定表的所有索引信息
-- 当前数据库指定表所有索引信息
show index from article;
-- 指定数据库指定表所有索引信息
show index from demo.article;
-- 指定数据库指定表所有索引信息
show index from article from demo;
-- 当前数据库指定表所有索引信息
show keys from article;
-- 指定数据库指定表所有索引信息
show keys from demo.article;
-- 指定数据库指定表所有索引信息
show keys from article from demo;
- 已经在表缓存中打开的非临时表信息
-- 所有数据库中已经在表缓存中打开的非临时表信息
show open tables;
-- 指定数据库中已经在表缓存中打开的非临时表信息
show open tables from demo;
- 指定数据库的所有触发器信息
-- 当前数据库所有触发器信息
show triggers;
-- 指定数据库所有触发器信息
show triggers from demo;
- 指定数据库中的所有事件信息
-- 当前数据库所有事件信息
show events;
-- 指定数据库所有事件信息
show events from demo;
- 创建触发器语句
show create trigger trigger1
- 创建事件语句
show create event add_partition_every_month
- 创建函数语句
show create function currval
- 创建存储函数语句
show create procedure create_partition_by_month
- 创建用户语句
show create user root
- 创建视图语句
show create view article_view