当前位置: 首页 > news >正文

常用命令之mysql命令之show命令

一、mysql show命令简介

  mysql数据库中show命令是一个非常实用的命令,SHOW命令用于显示MySQL数据库中的信息。它可以用于显示数据库、表、列、索引和用户等各种对象的信息。我们常用的有show databases,show tables,show full processlist等,实际上可以使用的还有很多,实际上包括三十多个子命令,加上可选参数可以查看的数据库信息就更多了。此博文以示例的方式介绍mysql show命令,博文的实验环境如下:

  • 操作系统:centos7.6
  • 数据库版本:mysql5.7.26

二、最常用show命令使用示例

1、查看数据库列表

  我们用得最多的就是show databases了,可以查看数据库列表,如果是root用户可以看到所有的数据库,如果是普通用户只可以看到自己有权限的库和information_schema库。

mysql> show databases;
在这里插入图片描述

2、查看数据库连接进程

  show processlist可以查看数据库连接进程,full是可选项,区别是show显示前100个线程,show full显示所有的。这个命令root用户和普通用户都可以执行,区别就是root用户可以看到所有用户的连接信息,普通用户只能看到该用户的。连接信息中有进程ID、用户名、连接源地址和端口号、连接的数据库、命令状态、连接时间、执行状态、执行的命令明细。show processlist常用于出现锁的情况下查询进程ID,然后手动kill ID后解锁。

mysql> show processlist;
mysql> show full processlist;
在这里插入图片描述

3、查看表列表

  show tables用于查看库下的表列表,需要先进入某库后才可以执行。当然我们也可以使用show tables from db_name,查看某库的数据表,前提是有权限查看。

mysql> use testdb;
mysql> show tables;
mysql> show tables from mysql;
在这里插入图片描述

4、查看表结构

  使用SHOW CREATE TABLE tbl_name可以查看某表的表结构,常用于需要确认表信息,在修改表结构前常用到。

mysql> show create table tb_0001;
在这里插入图片描述

5、查看变量信息

  显示MySQL服务器的配置变量的值,这个命令常在排查问题的时候用到,用于查看mysql实例的参数配置,经常结合like一起使用,用于过滤指定参数。可以使用show global variables或者show session variables查看全局或者会话参数,默认是查看会话参数。

mysql> show variables like ‘%time%’;
在这里插入图片描述

6、查看数据表的索引信息

  如果我们需要查看某表都创建了哪些索引可以使用show index from table_name的方式查看,默认有主键索引,如果还创建了其他索引通过此方式都可以看到。

mysql> show index from tb_0001;在这里插入图片描述

7、查看某用户的权限

  使用show grants for user@host 可以查看用户的授权,如果用户的host是任意源可以省略;也可以直接输入show grants查看当前用户的权限。

mysql> show grants for bak@‘192.168.0.%’;
mysql> show grants;

8、获取show命令帮助

mysql> help show;

三、需要特权执行的show命令使用示例

  如下show命令执行都需要特权,非普通用户可以执行。

1、查看主从状态

  如果搭建了mysql的主从模式,我们需要检查主从状态就可以使用此命令。如果配置了master或者slave角色就可以看到主从状态信息,否则为空。

mysql> show master status;
mysql> show slave status;
在这里插入图片描述

2、查看从节点主机信息

mysql> show slave hosts;
±----------±-----±-----±----------±-------------------------------------+
| Server_id | Host | Port | Master_id | Slave_UUID |
±----------±-----±-----±----------±-------------------------------------+
| 2 | | 3306 | 3306 | 4ef97f7e-cfe9-11ea-8214-3448edf3158c |
±----------±-----±-----±----------±-------------------------------------+
1 row in set (0.00 sec)

3、查看二进制日志位置

mysql> show master logs;
mysql> show binary logs;

4、查看binlog日志事件

mysql> SHOW BINLOG EVENTS;
在这里插入图片描述

四、其他show命令使用示例

1、查看可用字符集

mysql> SHOW CHARACTER SET;
mysql> SHOW CHARACTER SET like ‘%gbk%’;

2、查看显示可用的字符校对规则

mysql> SHOW COLLATION;

3、查看某库某表的所有列

mysql> SHOW full COLUMNS FROM tb_0001 from testdb;
在这里插入图片描述

4、查看数据库创建信息

  使用show create 可以查看创建数据库、事件、函数、存储过程、触发器、视图等的信息,需要对应的名称。

mysql> show create database testdb;
SHOW CREATE DATABASE db_name
SHOW CREATE EVENT event_name
SHOW CREATE FUNCTION func_name
SHOW CREATE PROCEDURE proc_name
SHOW CREATE TRIGGER trigger_name
SHOW CREATE VIEW view_name

5、查看最近事件

mysql> show events;
Empty set (0.00 sec)

6、查看最近告警

mysql> show warnings;
Empty set (0.00 sec)

7、查看最近错误

mysql> show errors;
Empty set (0.00 sec)

8、查看引擎状态

  查看innodb引擎状态,

mysql> SHOW ENGINE innodb status;

9、查看已安装的插件

mysql>SHOW PLUGINS

10、查看数据库表状态

  查看数据库表状态,这个在进行单个表备份还原的时候还是非常有用的,通过查看表的最后更新时间,我们可以选择对应日期的备份文件进行还原,在需要对表进行业务操作的时候,也可以通过分析协助判断什么时间进行数据库操作比较合适。

mysql> show table status from testdb;
在这里插入图片描述

11、查看所有打开的表

mysql> show open tables;

12、查看数据库触发器

  我们可以通过show triggers查看所有触发器,也可以show triggers from db_name查看指定数据库的触发器。

mysql> show triggers from testdb;

13、查看函数或者存储过程状态

mysql> SHOW FUNCTION STATUS like ‘%version_patch%’\G
mysql> SHOW PROCEDURE STATUS like ‘table_exists’\G

14、使用profile语句分析sql性能

  我们可以使用profile语句分析需要执行的sql执行的性能情况,可以看到sql执行的各阶段的资源消耗,SHOW PROFILE语句支持选择ALL、CPU、BLOCK IO、CONTEXT SWITCH和PAGE FAULTS等来查看具体的明细信息。不过此功能即将被淘汰,在新版本中通过Performance Schema库来分析资源消耗和使用情况。

mysql> set profiling=1;
mysql> select count(*) from testdb.tb_0001;
mysql> show profiles;
mysql> show profile for query 1;
mysql> show profile cpu for query 1;
在这里插入图片描述
在这里插入图片描述

五、show status常用参数说明

  使用SHOW STATUS语句能够获取MySQL服务器的一些状态信息,这些状态信息主要是MySQL数据库的性能参数。SHOW STATUS语句的语法格式如下:

SHOW [SESSION | GLOBAL] STATUS LIKE ‘status_name’;

  其中,SESSION表示获取当前会话级别的性能参数,GLOBAL表示获取全局级别的性能参数,并且SESSION和GLOBAL可以省略,如果省略不写,默认为SESSION。status_name表示查询的参数值。熟练掌握这些参数的使用,能够更好地了解SQL语句的执行频率。常用参数说明如下:

参数值参数说明
Connections连接MySQL服务器的次数
Uptime MySQL服务器启动后连续工作的时间
Slow_queries慢查询的次数
Com insert插入数据的次数,批量插入多条数据时,只累加1
Com delete删除数据的次数,每次累加1
Com update修改数据的次数,每次累加1
Com select查询数据的次数,一次查询操作累加1
Innodb rows read查询数据时返回的数据行数
Innodb rows inserted插入数据时返回的记录数
Innodb rows updated更新数据时返回的记录数
Innodb rows deleted删除数据时返回的记录数
http://www.lryc.cn/news/156039.html

相关文章:

  • iOS接入IJKPlayer遇到的问题汇总
  • 【LeetCode题目详解】第八章 贪心算法 part06 738.单调递增的数字 968.监控二叉树 (day37补)
  • 代码随想录算法训练营Day48 | 198.打家劫舍,213.打家劫舍II,337.打家劫舍III | Day 20 复习
  • Spring Boot @Validated 和Javax的@Valid配合使用
  • 论文复现--lightweight-human-pose-estimation-3d-demo.pytorch(单视角多人3D实时动作捕捉DEMO)
  • 在Windows下设置将EXE开机自启动
  • 反序列化漏洞及漏洞复现
  • 软件工程笔记001
  • java进行系统的限流实现--Guava RateLimiter、简单计数、滑窗计数、信号量、令牌桶
  • 《86盒应用于家居中控》——实现智能家居的灵动掌控
  • 【LeetCode】328. 奇偶链表
  • 数字城市:科技革命下的未来之城
  • Qt鼠标点击事件处理:按Escape键退出程序
  • P1162 填涂颜色
  • Vagrant命令
  • vue3+pinia实现动态类名及动态颜色
  • CSS实现隐藏滚动条但可以滚动
  • Ceph入门到精通-lunix将文本5行合成1行并按列统计
  • linux线程讲解
  • 解决本地jar包导入maven
  • ArcGis地图
  • Chrome 和 Edge 上出现“status_breakpoint”错误解决办法
  • 华为AP升级操作记录
  • 面试系列 - String字符串使用详解
  • 1782_Adobe Reader X实现pdf分页保存
  • 筛选图片,写JSON文件和复制
  • C++并发编程:构建线程安全队列(第二部分:细粒度锁)
  • 浅述C++内存管理——new与malloc的不同
  • 语言基础篇11——函数、函数参数类型、装饰器、生成器
  • linux jar包class热部署 工具 arthas安装及使用