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

MySQL程序介绍<二>

目录

mysqlcheck - 表维护程序

Mysqldump - 数据库备份程序

 mysqladmin - MySQL 服务器管理程序

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

mysqldumpslow - 总结慢查询⽇志⽂件 

​编辑 mysqlbinlog - 处理⼆进制⽇志⽂件

mysqlslap - 负载仿真客⼾端 

接着上篇继续介绍MySQL的一些重要程序MySQL程序介绍<一>

在命令⾏中使⽤MySQL发⾏版中的其他⼯具时,⼀些选项是公共的,⽐如⽤⼾名和密码,使⽤⽅法和mysql相同,在这⾥统⼀列出

mysqlcheck - 表维护程序

1.作用

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

一些注意事项:

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

2.使用方法

1.mysqlcheck [options] db_name [tbl_name ...]

2.mysqlcheck [options] --databases db_name ...
3.mysqlcheck [options] --all-databases
如果在 db_name 后没有指定任何表名,或者使⽤ --databases --all-databases
项,那么整个数据库都会被检查

3.常用选项

mysqlcheck有如下常⽤选项,可以在命令⾏中指定,也可以在选项⽂件中通过 [mysqlcheck] 和 [client] 组进⾏指定

举例:

4.mysqlcheck的特殊使⽤

Mysqldump - 数据库备份程序

1.作用

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

2.注意事项

1. 转储表时必须要有 SELECT 权限
2. 转储视图时必须要有 SHOW VIEW 权限
3. 转储触发器时必须要有 TRIGGER 权限
4. 如果没有使⽤ --single-transaction 选项时必须要有 LOCK TABLES 权限
5. 如果没有使⽤ --no-tablespaces 选项时必须要有 PROCESS 权限
6. 重新导⼊转储⽂件时,也需要有相应的权限
7. 由于mysqldump是逐⾏转储数据,所以不适⽤于⼤数据量的转储与导⼊

3.使用方法

 mysqldump的⽅法通常有以下使⽤,可以转储⼀个或多个表或数据库

mysqldump [options] db_name [ tbl_name ...]
mysqldump [options] --databases db_name ...
mysqldump [options] --all-databases
如果在 db_name 后没有指定任何表名,或者使⽤ --databases --all-databases
项,那么整个数据库都会被转储

4.常用选项

mysqldump有如下常⽤选项,可以在命令⾏中指定,也可以在选项⽂件中通过 [mysqldump]
[client] 组进⾏指定

 

 mysqladmin - MySQL 服务器管理程序

1.作用

mysqladmin 是⼀个执⾏管理操作的客⼾端。可以⽤来检查服务器的配置和当前状态,以及创建和删除数据库等(搭配使用的用户必须具有管理员权限)

2.使⽤⽅法
mysqladmin [options] command [command-arg] [command [command-arg]] ...

3.常⽤选项

mysqladmin 的常⽤选项参考公共选项部分,可以在命令⾏中指定,也可以在选项⽂件中通过
[mysqladmin] [client] 组进⾏指定
4.⽀持的命令
语法中的command 表⽰命令,有些命令后⾯需要跟上⼀个参数,下面是一些常用命令
1. version    显⽰来⾃服务器的版本信息
2. status      显⽰简短的服务器状态消息
3.create   db_name       创建⼀个数据库名为 db_name
4.drop db_name    删除名为 db_name 的数据库及其所有表
5. extended-status    显⽰服务器状态变量的值
6.flush-hosts          刷新主机缓存中的所有信息
7.flush-logs [ log_type ...]      刷新所有⽇志。 log_type 中可以提供以下⼀种或多种⽇志类型binary, engine, error, general, relay, slow,多个类型之间⽤空格分隔。
8.flush-privileges         重新加载授权表
9.flush-status       清除状态变量
10.flush-tables       刷新所有表
11.flush-threads         刷新线程缓存
12.password new_password      设置新密码。
如果密码中有空格必须⽤双引号把密码包裹起来
password 后可以省略新密码,mysqladmin会在之后提⽰输⼊新密码
password 做为最后⼀个command 时才可以省略密码值,否则下⼀个参数将作为密码被设
置。
13.ping          检查服务器是否可⽤
14.processlist         显⽰活动服务器线程的列表。
15. kill id , id ,...       终⽌服务器线程。如果给出了多个线程ID值,则列表中不能有空格
16.reload      重新加载授权表
17.refresh     刷新所有表。
18.shutdown       停⽌服务器
19.start-replica      在副本服务器上开始复制。MySQL 8.0.26及以后的版本使⽤此命令
20.start-slave       在副本服务器上开始复制。MySQL 8.0.26 之前使⽤此命令
21.stop-replica      停⽌副本服务器上的复制。MySQL 8.0.26及以后的版本使⽤此命令
22.stop-slave        停⽌副本服务器上的复制。MySQL 8.0.26 之前使⽤此命令
23.variables           显⽰服务器系统变量及其值

一些命令的举例:

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

1.使用

mysqlshow 客⼾端可⽤于快速查看存在哪些数据库、数据库中的表以及表中的列或索引。
2.注意事项
mysqlshow 为⼀些 SHOW 语句提供了⼀个命令⾏接⼝,详细可以参考文档: 直接使⽤这些SQL语句也可以获得相同的信息
3.常用选项
mysqlshow 的常⽤选项参考公共选项部分,可以在命令⾏中指定,也可以在选项⽂件中通过
[mysqlshow] [client] 组进⾏指定,具体选项参考公共选项列表
4.使⽤⽅法
mysqlshow [options] [db_name [tbl_name [col_name]]]
db_name tbl_name col_name 可以使⽤通配符 * ? % _
如果没有指定数据库,则显⽰所有数据库名称列表。
如果没有指定表,则显⽰数据库中所有匹配的表。
如果没有指定列,则显⽰表中所有匹配的列和列类型。
输出仅显⽰当前权限可以访问的数据库、表或列的名称

举例:

mysqldumpslow - 总结慢查询⽇志⽂件 

1.作用

在平时使⽤MySQL数据库时,经常进⾏查询操作,有些查询语句执⾏的时间⾮常⻓,当执⾏时间超过设定的阈值时,我们称这个查询为慢查询,慢查询的相关信息通常需要⽤⽇志记录下来称为慢查询⽇志, mysqldumpslow可以解析慢查询⽇志⽂件并汇总其内容(进行慢查询对应的SQL优化的依据)

2.注意事项

通常情况下,mysqldumpslow 会将相似的查询分组并显⽰摘要输出,⼀般会把数字和字符串⽤ N
"S" 代替,要想显⽰真实的值可以使⽤ -a 和 -n 选项
当sql语句查询超时时,对于查询条件一样的,就会用一个简单的标识把相同条件的多条sql语句记录为1条

3.使用方法

mysqldumpslow [options] [log_file ...]

 如:没有给出任何选项的输出

4.常⽤选项

 mysqlbinlog - 处理⼆进制⽇志⽂件

什么是⼆进制⽇志⽂件:
我们平时对数据库的修改,包括对数据的增删改,都会被描述成⼀个"事件",每个"事件"都会以⼆进制的形式记录在⼀个⽂件⾥,这个⽂件就是服务器的⼆进制⽇志⽂件,称为Binary Log或binlog
大概格式:
1.作用
mysqlbinlog 能够以⽂本格式显⽰⼆进制⽇志⽂件中的内容
2.注意事项
binlog的默认保存路径是数据⽬录:
Linux下默认⽬录:/var/lib/mysql
Windows下默认⽬录:C:\ProgramData\MySQL\MySQL Server 8.0\Data
binlog是以 .00000n 结尾命名的⽂件,n不断递增

 

3.使用方法

mysqlbinlog [options] log_file ...

 4.常用选项

mysqlbinlog 有如下常⽤选项,可以在命令⾏中指定,也可以在选项⽂件中通过 [mysqlbinlog]
[client] 组进⾏指定

mysqlslap - 负载仿真客⼾端 

1.作用

mysqlslap是⼀个诊断程序,⽤于模拟MySQL服务器的客⼾端负载,并报告每个阶段的时间,就好⽐多个客⼾端正在访问服务器⼀样
2.使用方法
mysqlslap [options]

3.注意事项

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

4.示例:

5 常⽤选项

mysqlslap 有如下常⽤选项,可以在命令⾏中指定,也可以在选项⽂件中通过 [mysqlslap]
[client] 组进⾏指定
对于选项可以参考官方文档

http://www.mrgr.cn/news/54247.html

相关文章:

  • [笔记] 关于CreateProcessWithLogonW函数创建进程
  • MIT-OC Electrochemical Energy Systems 1-2
  • Spring Boot配置文件不识别变量的解决方案
  • 如何使用Git推送本地搭建的仓库以及远程克隆的仓库
  • Qt中使用线程之QThread
  • C++实现循环队列和链式队列操作(实验5--作业)
  • freeswitch-esl 进行强拆控制
  • 【代码随想录Day46】单调栈Part01
  • 探索计算机技术的无限可能:从基础到前沿的深度之旅
  • PCL 点云配准 非线性加权最小二乘优化的点到面ICP算法(精配准)
  • 使用 NVBit 进行内存访问跟踪指南
  • 希尔(shell)排序
  • 深入理解Reactor核心概念
  • 【部署篇】RabbitMq-02单机模式部署
  • [H264]x264_encoder_headers函数
  • 第六十一周周报 MDSSSA-GNN
  • 计算机毕业设计Spark+大模型高考分数线预测 知识图谱高考志愿推荐系统 高考数据分析可视化 高考大数据 大数据毕业设计
  • 【洛谷】P1856
  • 【H2O2|全栈】WPS/Office系列有哪些好用的快捷方式?
  • Javaweb基础-axios
  • 学习虚幻C++开发日志——TSet
  • 推荐系统 # 二、推荐系统召回:协同过滤 ItemCF/UserCF、离散特征处理、双塔模型、自监督学习、多路召回、曝光过滤
  • MySQL 索引:优化数据库性能的关键
  • Java的重载和主要内存区
  • 开发工具(上)
  • [SAP ABAP] SE11定义数据类型(结构与表类型)