当前位置: 首页 > 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] 组进⾏指定
对于选项可以参考官方文档

相关文章:

MySQL程序介绍<二>

目录 mysqlcheck - 表维护程序 Mysqldump - 数据库备份程序 mysqladmin - MySQL 服务器管理程序 mysqlshow - 显⽰数据库、表和列信息 mysqldumpslow - 总结慢查询⽇志⽂件 ​编辑 mysqlbinlog - 处理⼆进制⽇志⽂件 mysqlslap - 负载仿真客⼾端 接着上篇继续介绍MySQL…...

Java项目实战II基于Spring Boot的毕业就业信息管理系统设计与实现(源码+数据库+文档)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发&#xff0c;CSDN平台Java领域新星创作者&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 随着高校扩…...

LeetCode 1343.大小为K且平均值大于等于阈值的子数组数目

题目&#xff1a; 给你一个整数数组 arr 和两个整数 k 和 threshold 。 请你返回长度为 k 且平均值大于等于 threshold 的子数组数目。 思路&#xff1a;定长滑动窗口 入 更新 出 代码&#xff1a; class Solution {public int numOfSubarrays(int[] arr, int k, int t…...

【电商项目】1分布式基础篇

1 项目简介 1.2 项目架构图 1.2.1 项目微服务架构图 1.2.2 微服务划分图 2 分布式基础概念 3 Linux系统环境搭建 查看网络IP和网关 linux网络环境配置 补充P123&#xff08;修改linux网络设置&开启root密码访问&#xff09; 设置主机名和hosts映射 主机名解析过程分析&…...

PHP嵌套函数

PHP嵌套函数&#xff08;Nested Functions&#xff09;在标准的PHP语法中并不直接支持&#xff0c;也就是说&#xff0c;你不能在一个函数内部直接定义另一个函数。然而&#xff0c;可以通过闭包&#xff08;Closures&#xff09;和匿名函数&#xff08;Anonymous Functions&am…...

外包干了2个月,技术明显退步

回望过去&#xff0c;我是一名普通的本科生&#xff0c;于2019年通过校招有幸加入了南京某知名软件公司。那时的我&#xff0c;满怀着对未来的憧憬和热情&#xff0c;投入到了功能测试的岗位中。日复一日&#xff0c;年复一年&#xff0c;转眼间&#xff0c;我已经在这个岗位上…...

kaptcha依赖maven无法拉取的问题

老依赖了&#xff0c;就是无法拉取&#xff0c;也不知道为什么&#xff0c;就是用maven一直拉去不成功&#xff0c;还以为是魔法的原因&#xff0c;试了好久发现不是&#xff0c;只好在百度寻求帮助了&#xff0c;好在寻找到了这位大佬的文章Maven - 解决无法安装 Kaptcha 依赖…...

48.旋转图像

秋招未止脚步不止&#xff0c;大厂&#xff0c;我一定要上大厂&#xff01; 题目链接 . - 力扣&#xff08;LeetCode&#xff09; 自己的思路 感觉好难&#xff0c;想不出来. 噫噫噫&#xff0c;我想着想着又想出来了。 //发现规律了&#xff0c;先左右对称&#xff0c; 再…...

每天5分钟玩转C#/.NET之goto跳转语句

前言 在我们日常工作中常用的C#跳转语句有break、continue、return&#xff0c;但是还有一个C#跳转语句很多同学可能都比较的陌生就是goto&#xff0c;今天大姚带大家一起来认识一下goto语句及其它的优缺点。 goto语句介绍 goto 语句由关键字 goto 后跟一个标签名称组成&…...

Java处理大数据小技巧:深入探讨与实践

引言 一、选择合适的数据结构 1. 使用高效的集合 2. 并发安全的数据结构 二、内存管理 1. JVM参数调优 2. 避免内存泄漏 三、并行计算与分布式处理 1. 利用Java并发API 2. 分布式框架 四、数据压缩与序列化 1. 数据压缩 2. 高效序列化 五、外部存储与缓存 1. NoS…...

我开源了Go语言连接数据库和一键生成结构体的包【实用】

项目地址&#xff1a;https://gitee.com/zht639/my_gopkg autosql autosql 是一个简化数据库使用的模块&#xff0c;支持常见的数据库&#xff08;MySQL、PostgreSQL、SQLite、SQL Server&#xff09;。该模块不仅提供了数据库连接函数&#xff0c;还能自动生成数据表对应的结…...

Sentinel 快速入门

前置推荐阅读:Sentinel 介绍-CSDN博客 前置推荐阅读&#xff1a;Nacos快速入门-CSDN博客 快速开始 欢迎来到 Sentinel 的世界&#xff01;这篇新手指南将指引您快速入门 Sentinel。 Sentinel 的使用可以分为两个部分: 核心库&#xff08;Java 客户端&#xff09;&#xff1a…...

基于SpringBoot健康生活助手微信小程序【附源码】

基于SpringBoot健康生活助手微信小程序 效果如下&#xff1a; 管理员登录界面 管理员主界面 用户管理界面 健康记录管理界面 健康目标管理界面 微信小程序首页界面 活动信息界面 留言反馈界面 研究背景 近年来&#xff0c;由于计算机技术和互联网技术的飞速发展&#xff0c;…...

功能安全实战系列-软件FEMA分析与组件鉴定

本文框架 前言1. 功能安全分析1.1 Why1.2 What?1.3 How?1.3.1 分析范围确定1.3.2 失效模式分析1.3.3 安全措施制定1.3.4 确认是否满足功能安全目标2. 软件组件鉴定2.1 Why2.2 How?前言 在本系列笔者将结合工作中对功能安全实战部分的开发经验进一步介绍常用,包括Memory(Fl…...

【数据结构与算法】链表(上)

记录自己所学&#xff0c;无详细讲解 无头单链表实现 1.项目目录文件 2.头文件 Slist.h #include <stdio.h> #include <assert.h> #include <stdlib.h> struct Slist {int data;struct Slist* next; }; typedef struct Slist Slist; //初始化 void SlistI…...

svn-拉取与更新代码

右键项目文件 进行更新与提交代码&#xff0c;提交代码选择更改的文件以及填写commit...

【C++ 算法进阶】算法提升四

数组查询问题 &#xff08;数组优化&#xff09; 题目 数组为 {3 &#xff0c; 2&#xff0c; 2 &#xff0c;3 &#xff0c;1} 查询为&#xff08;0 &#xff0c;3 &#xff0c;2&#xff09; 这个查询的意义是 在数组下标0~3这个范围上 有多少个2 &#xff08;答案为2&…...

多种方式实现安全帽佩戴检测

为什么要佩戴安全帽 在探讨安全帽佩戴检测之前&#xff0c;我们先来了解下安全帽佩戴的必要性&#xff1a; 保护头部免受外力伤害 防止物体打击 在建筑施工、矿山开采、工厂车间等场所&#xff0c;经常会有高空坠物的风险。例如在建筑工地上&#xff0c;可能会有工具、材料、…...

基于PHP+MySQL+Vue的网上订餐系统

摘要 本文介绍了一个基于PHPMySQLVue技术的网上订餐系统。该系统旨在为用户提供便捷的在线订餐服务&#xff0c;同时提高餐厅的运营效率。系统后端采用PHP语言开发&#xff0c;利用MySQL数据库进行数据存储与管理&#xff0c;实现了用户注册登录、菜品浏览、购物车管理、订单提…...

Vue学习笔记 Class绑定 Style绑定 侦听器 表单输入绑定 模板引用 组件组成 组件嵌套关系

文章目录 Class绑定绑定对象绑定数组注意事项 style绑定绑定对象代码效果展示 绑定数组 侦听器注意的点代码效果 表单输入绑定示例代码效果展示 修饰符.lazy.number.trim 模板引用组件组成组件组成结构引入组件步骤style中的scoped作用 组件嵌套关系 Class绑定 绑定对象 绑定数…...

React 第五十五节 Router 中 useAsyncError的使用详解

前言 useAsyncError 是 React Router v6.4 引入的一个钩子&#xff0c;用于处理异步操作&#xff08;如数据加载&#xff09;中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误&#xff1a;捕获在 loader 或 action 中发生的异步错误替…...

【Python】 -- 趣味代码 - 小恐龙游戏

文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望

文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例&#xff1a;使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例&#xff1a;使用OpenAI GPT-3进…...

Nuxt.js 中的路由配置详解

Nuxt.js 通过其内置的路由系统简化了应用的路由配置&#xff0c;使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

什么是EULA和DPA

文章目录 EULA&#xff08;End User License Agreement&#xff09;DPA&#xff08;Data Protection Agreement&#xff09;一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA&#xff08;End User License Agreement&#xff09; 定义&#xff1a; EULA即…...

AI编程--插件对比分析:CodeRider、GitHub Copilot及其他

AI编程插件对比分析&#xff1a;CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展&#xff0c;AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者&#xff0c;分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...

Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理

引言 Bitmap&#xff08;位图&#xff09;是Android应用内存占用的“头号杀手”。一张1080P&#xff08;1920x1080&#xff09;的图片以ARGB_8888格式加载时&#xff0c;内存占用高达8MB&#xff08;192010804字节&#xff09;。据统计&#xff0c;超过60%的应用OOM崩溃与Bitm…...

C++八股 —— 单例模式

文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全&#xff08;Thread Safety&#xff09; 线程安全是指在多线程环境下&#xff0c;某个函数、类或代码片段能够被多个线程同时调用时&#xff0c;仍能保证数据的一致性和逻辑的正确性&#xf…...

什么是Ansible Jinja2

理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具&#xff0c;可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板&#xff0c;允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板&#xff0c;并通…...

现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?

现有的 Redis 分布式锁库&#xff08;如 Redisson&#xff09;相比于开发者自己基于 Redis 命令&#xff08;如 SETNX, EXPIRE, DEL&#xff09;手动实现分布式锁&#xff0c;提供了巨大的便利性和健壮性。主要体现在以下几个方面&#xff1a; 原子性保证 (Atomicity)&#xff…...