MySQL学习记录 —— 이십 常用工具包

文章目录

  • 1、总览
  • 2、mysqlcheck - 表维护程序
    • 1、作用
    • 2、注意事项
    • 3、语法
    • 4、命令选项
    • 下面每块都大致有这四个部分
  • 3、Mysqldump - 数据库备份程序
  • 4、mysqladmin - MySQL 服务器管理程序
  • 5、mysqlshow - 显示数据库、表和列信息
  • 6、mysqldumpslow - 总结慢查询日志文件
  • 7、mysqlbinlog - 处理二进制日志文件
  • 8、mysqlslap - 负载仿真客户端


1、总览

在这里插入图片描述

下面各种工具包都是bash命令。各个工具都包含作用、注意事项、语法、选项四个部分。各种工具的命令选项都可以在官方文档中查看。

MySQL 8.4

2、mysqlcheck - 表维护程序

1、作用

mysqlcheck客户端用于执行表维护,可以对表进行:分析、检查、优化或修复操作。
• 分析的作用是查看表的关键字分布,能够让 sql 生成正确的执行计划(支持 InnoDB,MyISAM,NDB)
• 检查的作用是检查表的完整性以及数据库表和索引是否损坏(支持 InnoDB,MyISAM,ARCHIVE,CSV)
• 优化的作用是回收空间、减少碎片、提高I/O(支持 InnoDB,MyISAM,ARCHIVE)
• 修复的作用是修复可能已经损坏的表(支持 MyISAM,ARCHIVE,CSV)

2、注意事项

  1. 当使用mysqlcheck⼯具时,MySQL服务器必须在运行状态
  2. 执行过程中相应的表将会被锁定,所以其他的操作将会被挂起
  3. 并不是所有的存储引擎都支持以上四种操作,如果遇到不支持的引擎会报出相应的错误
  4. 执行表修复操作之前对表进行备份,在某些情况下可能会导致数据丢失。

3、语法

mysqlcheck [options] db_name [tbl_name ...]
mysqlcheck [options] --databases db_name ...
mysqlcheck [options] --all-databases

如果在 db_name 后没有指定任何表名,或者使用 --databases 或 --all-databases 选项,那么整个数据库都会被检查。

4、命令选项

mysqlcheck的常用选项,可以在命令行中指定,也可以在选项文件中通过 [mysqlcheck] 和 [client] 组进行指定。

在这里插入图片描述

在不启动mysql时就可以用这些语句,也就是bash语句,mysqlcheck -a test_db就是分析test_db这个表。

遇到一些不满足条件的,比如存储引擎不支持,那就可以转换引擎。

InnoDB在优化的过程中是执行了一个重建的操作。根据官网建议,优化不应常用,一天以上优化就可以。

在这里插入图片描述

下面每块都大致有这四个部分

3、Mysqldump - 数据库备份程序

mysqldump客户端程序可以执行逻辑备份并生成一组SQL语句,其中包含原始数据库和表的定义以及表中的数据,以便实现对数据库的简单备份或复制。mysqldump命令可以生产CSV、或XML格式的文件。

在这里插入图片描述

语法:

mysqldump [options] db_name [tbl_name ...]
mysqldump [options] --databases db_name ...
mysqldump [options] --all-databases

常用选项

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

导出一个数据库成sql文件

mysqldump test_db > /root/dump.sql -u root -p

mysqldump有这些常用选项,可以在命令行中指定,也可以在选项文件中通过 [mysqldump] 和[client] 组进行指定。

4、mysqladmin - MySQL 服务器管理程序

mysqladmin 是⼀个执行管理操作的客⼾端。可以用来检查服务器的配置和当前状态,以及创建和删除数据库等。

语法:

mysqladmin [options] command [command-arg] [command [command-arg]] ...

command就是要带的命令选项。

检查服务器版本信息

mysqladmin version -u root -p

查看状态就把version改成status。以及还可以改成下面的这些选项。

在这里插入图片描述
在这里插入图片描述
password 密码,这个选项可以设置新密码

• 如果密码中有空格必须用双引号把密码包裹起来
• password 后可以省略新密码,mysqladmin会在之后提示输入新密码
• password 做为最后一个command 时才可以省略密码值,否则下一个参数将作为密码被设置。

默认MySQL服务器可以维护150个活动连接,如果连接被用完,可以通过kill来手动释放休眠时间最长的线程。

在这里插入图片描述
在这里插入图片描述

mysqladmin 的常用选项参考公共选项部分,可以在命令行中指定,也可以在选项文件中通过[mysqladmin] 和 [client] 组进行指定。

5、mysqlshow - 显示数据库、表和列信息

mysqlshow客户端可用于快速查看存在哪些数据库、数据库中的表以及表中的列或索引。

语法:

mysqlshow [options] [db_name [tbl_name [col_name]]]

当然最后都加上-u root -p。

• db_name tbl_name col_name 可以使用通配符 * 、 ? 、 % 或 _
• 如果没有指定数据库,则显示所有数据库名称列表。
• 如果没有指定表,则显示数据库中所有匹配的表。
• 如果没有指定列,则显示表中所有匹配的列和列类型。
• 输出仅显示当前权限可以访问的数据库、表或列的名称。

mysqlshow很简单,查看官方文档即可。

mysqlshow 的常用选项参考公共选项部分,可以在命令行中指定,也可以在选项文件中通过[mysqlshow] 和 [client] 组进行指定,具体选项参考公共选项列表。

6、mysqldumpslow - 总结慢查询日志文件

慢查询是那些执行时间很长,超过阈值的查询语句。慢查询的相关信息通常需要用日志记录下来称为慢查询日志,mysqldumpslow可以解析慢查询日志文件并汇总其内容。

通常情况下,mysqldumpslow 会将相似的查询分组并显示摘要输出,一般会把数字和字符串用 “N” 和 “S” 代替,要想显示真实的值可以使用 -a 和 -n 选项。

语法:

mysqldumpslow [options] [log_file ...]

可以不带任何选项地输出,这时候的结果中,count是执行的次数,time是单词的耗时,lock是申请与释放锁用的时间,rows是获取数据用的时间。

在这里插入图片描述

sort_type的可选项:

t,at :按查询时间或平均查询时间排序,默认排序
l,al :按锁占用时间或平均锁占用时间排序
r,ar :按发送的行数或平均发送的行数排序
c :按计数排序

7、mysqlbinlog - 处理二进制日志文件

对数据库的各种操作,比如修改,删除,都是一个个事件,每个事件都会以二进制形式记录在文件里,也就是二进制日志文件文件,binlog,Binary Log。mysqlbinlog能够以文本格式显示二进制日志文件中的内容。

binlog的默认保存路径是数据目录,Linux下默认为/var/lib/mysql。binlog是以.00000n结尾命名的文件,n不断递增。

语法:

mysqlbinlog [options] log_file ...

日志文件的输出内容中包含各种事件,事件信息包括 SQL 语句、执行语句的服务器 ID、语句执行时的时间戳、花费的时间等等。

在没有选项,直接查看一个日志文件显示的内容中,at表示一个事件在日志文件中的起始偏移位置,end_log_pos表示事件在日志中结束的偏移位置。

mysqlbinlog 的命令选项可以在命令行中指定,也可以在选项文件中通过 [mysqlbinlog] 和 [client] 组进行指定。

在这里插入图片描述
在这里插入图片描述

还有

–raw :mysqlbinlog以原始二进制格式写入事件,默认是文本格式
–read-from-remote-server,-R :–read-from-remote-server=file_name,-R,读取远程MySQL服务器的二进制日志,而不是读取本地,要求远程服务器正在运行

–base64-output=value ,value允许的值:( 默认 AUTO )

AUTO (“automatic”)或 UNSPEC (“unspecified”)在必要时自动显示BINLOG语句。如果使用mysqlbinlog重新执行二进制日志文件内容,那么使用 AUTO 选项是唯一安全的行为,其他选项值仅用于调试或测试,如果 --base64-output 没有指定,那么默认值是 AUTO。
NEVER 不显示BINLOG语句。
DECODE-ROWS 不显示加密内容,可以配合mysqlbinlog 的 -verbose 选项以注释的形式只显示事件的SQL语句。

8、mysqlslap - 负载仿真客户端

mysqlslap是⼀个诊断程序,用于模拟MySQL服务器的客户端负载,并报告每个阶段的时间。

  1. 可以通过 --create 或 --query 选项,指定包含SQL语句的字符串或包含SQL语句的文件。
  2. 如果指定一个包含SQL语句的文件,默认情况下每行必须包含一条语句(也就是说,隐式语句分隔符是换行符)。
  3. 如果要把一条语句分为多行书写,可以使用 --delimiter 选项指定不同的分隔符。
  4. 不能在文件中包含注释,因为mysqlslap不能解析注释。
  5. mysqlslap运行分为三个阶段:
    a. 创建测试数据阶段:创建用于测试的库、表或数据,这个阶段使用单个客户端连接
    b. 运行负载测试阶段,这个阶段可以使用许多客户端连接
    c. 清理阶段:执行删除表,断开连接等操作,这个阶段使用单个客户端连接

语法:

 mysqlslap [options]

示例:

在这里插入图片描述
在这里插入图片描述

mysqlslap 有如下常用选项,可以在命令行中指定,也可以在选项文件中通过 [mysqlslap] 和 [client] 组进行指定

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

还有–auto-generate-sql-unique-query-number选项,–auto-generate-sql-unique-query-number=N为自动测试生成多少个不同的查询(where条件不同),默认值是10。

结束。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/799852.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

内存ECC基础纠错算法有哪些?

3.1 基础纠错算法 3.1.1 SECDED纠错算法 SECDED(Single Error Correction Double Error Detection)是一种经典的ECC方案,能够纠正单比特错误并检测出双比特错误。在图4(a)中,展示了SECDED的编码过程。在这个过程中,使…

STM32之八:IIC通信协议

目录 1. IIC协议简介 1.1 主从模式 1.2 2根通信线 2. IIC协议时序 2.1 起始条件和终止条件 2.2 发送一个字节 2.3 接收一个字节 2.4 应答信号 1. IIC协议简介 IIC协议是一个半双工、同步、一主多从、多主多从的串行通用数据总线。该通信模式需要2根线:SCL、…

mysql(5.5)启动服务和环境配置

正常启动 参考:Javaweb基础之mysql回溯笔记(一) 总的来说就是在mysql的安装目录下,找到bin下面的msyqld.exe,双击即启动了mysql服务; 启动方式二 也可以直接找到windows的服务项进行启动,操作如下: 打开…

opencascade AIS_InteractiveContext源码学习8 trihedron display attributes

AIS_InteractiveContext 前言 交互上下文(Interactive Context)允许您在一个或多个视图器中管理交互对象的图形行为和选择。类方法使这一操作非常透明。需要记住的是,对于已经被交互上下文识别的交互对象,必须使用上下文方法进行…

MySQL集群、Redis集群、RabbitMQ集群

一、MySQL集群 1、集群原理 MySQL-MMM 是 Master-Master Replication Manager for MySQL(mysql 主主复制管理器)的简称。脚本)。MMM 基于 MySQL Replication 做的扩展架构,主要用来监控 mysql 主主复制并做失败转移。其原理是将真…

linux高级编程(网络)(www,http,URL)

数据的封包和拆包 封包: 应用层数据(例如HTTP请求)被传递给传输层。传输层(TCP)在数据前添加TCP头部(包含端口号、序列号等)。网络层(IP)在TCP段前添加IP头部&#xff…

解读InnoDB数据库索引页与数据行的紧密关联

目录 一、快速走进索引页结构 (一)整体展示说明 (二)内容说明 File Header(文件头部) Page Header(页面头部) Infimum Supremum(最小记录和最大记录) …

多模态大模型 - MM1

1. 摘要 本文主要通过分析模型结构和数据选择讨论如何构建一个好的多模态大模型(MLLM),并同时提出了MM1模型,包括30B dense版本和64B的MoE版本。 具体贡献: 模型层面:影响效果的重要性排序为:…

昇思25天学习打卡营第10天|NLP-RNN实现情感分类

打卡 目录 打卡 任务说明 流程 数据准备与加载 加载预训练词向量(分词) 数据集预处理 模型构建 Embedding RNN(循环神经网络) LSTM 全连接层 损失函数与优化器 训练逻辑 评估指标和逻辑 模型训练与保存 模型加载与测试 自定义输入测试 …

周报(1)<仅供自己学习>

文章目录 一.pytorch学习1.配置GPU2.数据读取问题1(已解决问题2(已解决 3.卷积的学习 二.NeRF学习1.介绍部分问题1(已解决 2.神经辐射场表示问题2(已解决问题3(已解决问题4(已解决问题5:什么是视…

1-5岁幼儿胼胝体的表面形态测量

摘要 胼胝体(CC)是大脑中的一个大型白质纤维束,它参与各种认知、感觉和运动过程。尽管CC与多种发育和精神疾病有关,但关于这一结构的正常发育(特别是在幼儿阶段)还有很多待解开的谜团。虽然早期文献中报道了性别二态性,但这些研究的观察结果…

Armv8-R内存模型详解

目录 1.内存模型的必要性 2.Armv8-R内存模型分类 2.1 Normal memory 2.2 Device Memory 2.2.1 Gathering 2.2.2 Reordering 2.2.3 Early Write Acknowledgement 3.小结 大家好,今天是悲伤的肌肉。 在调研区域控制器芯片时,发现了S32Z、Stellar …

从Centos7升级到Rocky linux 9后,网卡连接显示‘Wired connection 1‘问题解决方法

问题描述 从Centos7升级到Rocky9后, 发现网卡eth0的IP不正确。通过nmcli查看网卡连接,找不到name为eth0的连接,只显示’Wired connection 1’ 查看/etc/NetworkManager/system-connections/,发现找不到网卡配置文件。 原因分析 centos7使…

git取消合并:--hard 或 --merge

第一步:查了git日志 git reflog如下,运行上述命令后,可以看见所有的提交哈希(id) 第二步 查看到上述所有的提交记录后,有如下方法去回退 方法1:--hard 确定上一次提交的哈希值 git reset…

RK3568笔记三十八:DS18B20驱动开发测试

若该文为原创文章,转载请注明原文出处。 DS18B20驱动参考的是讯为电子的单总线驱动第十四期 | 单总线_北京迅为的博客-CSDN博客 博客很详细,具体不描述。 只是记录测试下DS18B20读取温度。 一、介绍 流程基本和按键驱动差不多,主要功能是…

内存RAS技术介绍:内存故障预测

故障预测是内存可靠性、可用性和服务性(RAS)领域中的一个重要方面,旨在提前识别潜在的不可纠正错误(UE),以防止系统崩溃或数据丢失。 4.1 错误日志记录与预测基础 错误一般通过Linux内核模块Mcelog记录到…

Matlab 判断直线上一点

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 判断一个点是否位于一直线上有很多方法,这里使用一种很有趣的坐标:Plucker线坐标,它的定义如下所示: 这个坐标有个很有趣的性质,我们可以使用Plucker坐标矢量构建一个Plucker矩阵: 则它与位于对应线上的齐次点…

鸿蒙语言基础类库:【@system.configuration (应用配置)】

应用配置 说明: 从API Version 7 开始,该接口不再维护,推荐使用新接口[ohos.i18n]和[ohos.intl]。本模块首批接口从API version 3开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 导入模块 import configurati…

uniapp启动图延时效果,启动图的配置

今天阐述uniapp开发中给启动图做延迟效果,不然启动图太快了,一闪就过去了; 一:修改配置文件:manifest.json "app-plus" : {"splashscreen" : {"alwaysShowBeforeRender" : false,"…

vue学习day09-自定义指令、插槽

29、自定义指令 (1)概念:自己定义的指令,可以封装一些dom操作,扩展额外的功能。 (2)分类: 1)全局注册 2)局部注册 3)示例: 让表…