常用命令之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 | 删除数据时返回的记录数 |
相关文章:

常用命令之mysql命令之show命令
一、mysql show命令简介 mysql数据库中show命令是一个非常实用的命令,SHOW命令用于显示MySQL数据库中的信息。它可以用于显示数据库、表、列、索引和用户等各种对象的信息。我们常用的有show databases,show tables,show full processlist等&…...

iOS接入IJKPlayer遇到的问题汇总
这里有一个我自己编译的IJKMediaFramework,能解决目前Github上反馈很多常见的IJKPlayer使用问题(包含播放异常,UI主线程Crash等),替换自己项目中的IJKMediaFramework即可链接: https://pan.baidu.com/s/1UO-YfN_1YIDOX81bgW8bag?pwdvq4u 提取…...

【LeetCode题目详解】第八章 贪心算法 part06 738.单调递增的数字 968.监控二叉树 (day37补)
本文章代码以c为例! 一、力扣第738题:单调递增的数字 题目: 当且仅当每个相邻位数上的数字 x 和 y 满足 x < y 时,我们称这个整数是单调递增的。 给定一个整数 n ,返回 小于或等于 n 的最大数字,且数…...

代码随想录算法训练营Day48 | 198.打家劫舍,213.打家劫舍II,337.打家劫舍III | Day 20 复习
198.打家劫舍 文章链接 | 题目链接 | 视频链接 C解法 class Solution { public:int rob(vector<int>& nums) {vector<int> dp (nums.size(), 0);if (nums.size() 0){return 0;}if (nums.size() 1){return nums[0];}dp[0] nums[0];dp[1] max(nums[0]…...

Spring Boot @Validated 和Javax的@Valid配合使用
一、Validated 和Valid有什么用 Validation 和Valid 常常配合使用对传输的参数进行数据校验的注解,并通过配置全局异常处理器进行合理化的提示,增加用户的体验 并且Validated可以通过分组来指定什么时候触发什么样的参数校验(这里看一下就行…...

论文复现--lightweight-human-pose-estimation-3d-demo.pytorch(单视角多人3D实时动作捕捉DEMO)
分类:动作捕捉 github地址:https://github.com/Daniil-Osokin/lightweight-human-pose-estimation-3d-demo.pytorch 所需环境: Windows10,conda 4.13.0; 目录 conda环境配置安装Pytorch全家桶安装TensorRT(…...

在Windows下设置将EXE开机自启动
在Windows下设置将EXE开机自启动,有多种方法。以下是两种常用的方法: 方法一:通过注册表 打开“运行”(快捷键:Win R),输入:reg add HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windo…...

反序列化漏洞及漏洞复现
文章目录 渗透测试漏洞原理不安全的反序列化1. 序列化与反序列化1.1 引例1.2 序列化实例1.2.1 定义一个类1.2.2 创建对象1.2.3 反序列化1.2.4 对象注入 2. 漏洞何在2.1 漏洞触发 3. 反序列化漏洞攻防3.1 PHP反序列化实例3.1.1 漏洞利用脚本3.1.2 漏洞利用3.1.3 获取GetShell 3.…...

软件工程笔记001
2023年9月5日,周二上午 软件工程的目标 软件工程的目标是成功地开发一个软件: 较低的开发成本能按时交付软件开发出来的软件该有的功能都有开发出来的软件运行效率高开发出来的软件可靠性高开发出来的软件易于维护 软件的生存周期 概念 软件生存周期…...

java进行系统的限流实现--Guava RateLimiter、简单计数、滑窗计数、信号量、令牌桶
本文主要介绍了几种限流方法:Guava RateLimiter、简单计数、滑窗计数、信号量、令牌桶,漏桶算法和nginx限流等等 1、引入guava集成的工具 pom.xml 文件 <dependency><groupId>com.google.guava</groupId><artifactId>guava<…...

《86盒应用于家居中控》——实现智能家居的灵动掌控
近年来,智能家居产品受到越来越多消费者的关注,其便捷、舒适的生活方式让人们对未来生活充满期待。作为智能家居方案领域的方案商,启明智显生产设计的86盒凭借出色的性能和良好的用户体验,成功应用于家居中控系统,让家…...

【LeetCode】328. 奇偶链表
328. 奇偶链表(中等) 思路 如果链表为空,则直接返回链表。 对于原始链表,每个节点都是奇数节点或偶数节点。头节点是奇数节点,头节点的后一个节点是偶数节点,相邻节点的奇偶性不同。因此可以将奇数节点和偶…...

数字城市:科技革命下的未来之城
随着科技的不断进步,数字城市已经成为了未来城市发展的关键趋势。数字城市是指利用先进的信息技术、互联网和大数据等工具,将城市各个方面进行数字化、智能化、互联化的发展模式。它不仅仅是一种技术,更是一种对城市管理、发展和居民生活方式…...

Qt鼠标点击事件处理:按Escape键退出程序
创建项目 Qt 入门实战教程(目录) 首先,创建一个名称为QtKeyEscape的Qt默认的窗口程序。 参考 :Qt Creator 创建 Qt 默认窗口程序 Qt响应键盘Escape事件 打开Qt Creator >>编辑 >> 项目 >> Headers>> …...

P1162 填涂颜色
填涂颜色 - 洛谷 这个题用逆向思维,见不用染色的地方标记。 这里为了处理一些情况,将图周围一圈的0空出来,用于吧围墙之外的部分都标记上 用宽搜,四联通,感觉好奇怪,八连通ac不了 #include <iostrea…...

Vagrant命令
文章目录 1.介绍2.下载3. 配置3.1 配置环境变量3.2 在xshell中连接使用 4. 相关命令4.1 Box相关4.2 初始化环境4.4 虚拟机相关 1.介绍 Vagrant 是一个虚拟机管理工具 2.下载 https://www.vagrantup.com/ 3. 配置 3.1 配置环境变量 测试安装是否成功 3.2 在xshell中连接使…...

vue3+pinia实现动态类名及动态颜色
前提 store下models下有个before.ts文件 import { defineStore } from "pinia"; export const usebeforeloggininStore defineStore("counterStore", {state: () > ({beforelogin_params: [{type: "A登录",color: "#000",flag: 1,…...

CSS实现隐藏滚动条但可以滚动
场景 隐藏滚动条,但可以滚动 解决 全局样式 /* 隐藏滚动条 */ .outer-container::-webkit-scrollbar {width: 0; /* 设置滚动条的宽度为0 */background-color: transparent; /* 设置滚动条背景为透明 */ }/* 自定义滚动条轨道样式 */ .outer-container::-webkit…...

Ceph入门到精通-lunix将文本5行合成1行并按列统计
要将每5行合并为1行,您可以使用shell命令来完成。假设您有一个名为text.txt的文本文件,您可以使用以下命令来实现: bash cat text.txt | paste -d - - - - - 这将把文件中的每5行合并为1行,并且每个字段之间用空格分隔开来。您…...

linux线程讲解
1.线程概述 一个进程在同一时刻只做一件事情,进程是程序执行的一个实例。 线程是操作系统能够进行运算调度的最小单位,一个进程中可以并发多个线程,每条线程并行执行不同的任务。 进程:资源分配的最小单位。线程,程…...

解决本地jar包导入maven
1、确定是否安装maven 2、输入导入命令 命令说明 <path-to-file>为你jar包所在的路径(尽量简单并且不要含中文) <group-id>为grouId号,与<artifact-id>组成唯一识别你jar包的坐标,当不在公共资源jar包中&#…...

ArcGis地图
1、概述 官网:https://developers.arcgis.com/qt/ 官网:官网指导 官网:Add graphics to a map view Arcgis runtime sdk for Qt 开发记录(系列文章) 2、创建地图 //online: m_mapView new MapGraphicsV…...

Chrome 和 Edge 上出现“status_breakpoint”错误解决办法
文章目录 STATUS_BREAKPOINTSTATUS_BREAKPOINT报错解决办法Chrome浏览器 Status_breakpoint 错误修复- 将 Chrome 浏览器更新到最新版本- 卸载不再使用的扩展程序和应用程序- 安装计算机上可用的任何更新,尤其是 Windows 10- 重启你的电脑。 Edge浏览器 Status_brea…...

华为AP升级操作记录
AP型号:AP4050DN 原版本:AP4050DN CLOUD V200R008C10SPC700 升级后版本:AP4000 V200R019C00SPC913 开启FTP,用户名:admin, 密码:123456 FTP服务端地址:192.168.8.58 操作:将AP连接…...

面试系列 - String字符串使用详解
String 类是 Java 中最常用的类之一,它用于表示和操作字符串。字符串是一系列字符的序列,可以包含字母、数字、符号等。在 Java 中,String 类是不可变的,这意味着一旦创建了字符串对象,它的内容就不能被修改。 一、常…...

1782_Adobe Reader X实现pdf分页保存
全部学习汇总: GitHub - GreyZhang/windows_skills: some skills when using windows system. 看了一本pdf电子书,觉得其中几页很值得分享。如果分享整本书当然是不错的选择,但是分享整本书很可能会导致一个结局——内容太多别人不会去看&…...

筛选图片,写JSON文件和复制
筛选图片,写JSON文件和复制 筛选图片,写JSON文件筛选图片复制 筛选图片,写JSON文件 # coding: utf-8 from PIL import Image, ImageDraw, ImageFont import os import shutil import cv2 as cv import numpy as np import jsondef zh_ch(str…...

C++并发编程:构建线程安全队列(第二部分:细粒度锁)
C++并发编程:构建线程安全队列(第二部分:细粒度锁) 1. 引言 在多线程环境下,为了保证数据的一致性和正确性,需要使用同步原语来对共享数据的访问进行互斥和同步。std::queue作为一种先进先出(FIFO)的数据结构,它本身并不是线程安全的,同时访问它可能导致数据竞争和不一致的问…...

浅述C++内存管理——new与malloc的不同
前言 C相对于其他语言有一个重要的特点就是对于内存的管理,相比于C语言,C提供了新的关键字new来代替malloc的功能,其中有何不同,请看下文。 一、内存的构成 在我们日常编程过程中最常接触到的就是以下四个分区 以下将分别给出例…...

语言基础篇11——函数、函数参数类型、装饰器、生成器
函数 基本结构 def func_name(value):print(f"Hello {value}")return 0func_name("World")函数参数 参数默认值和五种参数类型 https://docs.python.org/3/glossary.html#term-parameter 参数默认值 带默认值的参数必须在参数列表右边 def func_nam…...