MySQL工具包中的其他程序

   虽然有很多不同的程序,但有些选项是公共的,比兔用户名和密码,使用方法和MySQL相同,

在这里统一列出,后面我们介绍不同的工具时,只讨论个性的选项以及作用

以下是常用的MySQL程序:

程序名作用

mysqld

MySQL的守护进程即MySQL服务器,mysqld是服务端的程序,需要使用mysql服务器mysqld一定要在运行状态
mysqlmysql是一个客户端程序,用于交互输入SQL语句或批处理模式从文件执行SQL的命令行工具
mysqlcheck用于检查,修复,分析和优化表的表客户端工具
mysqldump将MySQL数据库转储到SQL,文本或者XML文件中的客户端
mysqlimport将文本文件导入到表的客户端工具(备份和恢复
mysqladmin执行管理操作的客户端,例如创建或删除数据库,重新加载授权表,将表刷新到磁盘以及重新打开日志文件,mysqladmin还可以用于从服务器检索版本,进程和状态信息
mysqlshow显示数据库,表,列和索引信息的客户端
mysqldumpslow用于读取和汇总慢速查询日志内容的实用程序
mysqlbinlog从二进制日志中读取SQL语句的使用程序,mysqlbinlog文件中包含的已执行SQL语句的日志,可用于从崩溃中恢复数据
mysqlslap客户端负载工具,模拟多个客户端同时访问MySQL服务器,并报告每个阶段的使用时间。

公共选项如下: 

选项--长格式短格式说明
--host-h

--host=host_name,-h host_name

连接到指定主机上的MySQL服务

--post-P

--port=port_num,-P port_num

TCP/IP连接使用的端口号

--user-u

--user=user_name,-u user_name

用于连接到MySQL服务器的用户名

--password-p

--password[=password],-p[password]

用于连接到MySQL服务器的密码,可选,如果没有给出,会提示用户输入。

--defaults-file

--defaults-file=file_name

使用指定的选项文件,如果该文件不存在,则会发生错误

--compress-C如果可能,压缩客户端和服务器之间传输的所有信息。
--protocol用于连接到服务器的传输协议,默认为TCP
--version-V显示版本信息并退出
--help-?显示帮助信息并退出

1.mysqlcheck - 表维护程序:

mysqlcheck客户端用于执行表维护,可以对表进行分析,检查,优化或者修复操作。

1.分析的作用是查看关键字的分布,能够让sql生成正确的执行计划(支持InnoDB,MyISAM,NDB)

2.检查的作用是检查表的完整性以及数据库表和索引是否损坏(支持InnoDB,MyLSAM,ARCHIVE,CSV)

3.优化的作用是回收空间,减少碎片,提高I/O(支持InnoDB,MyISAM,ARCHIVE)

4.修复的作用是修复可能已经损坏的表(支持MyISAM,ARCHIVE,CSV)

注意:

1.当使用mysqlcheck工具时,MySQL服务器必须在运行状态

2.执行过程中,有些表会被锁定,所以这时其他操作将会被挂起。

3.并不是所有储存引擎都会支持上面四种操作,如果遇到不支持的就会出错。

4.执行表修复操作之前对表进行备份,在某些情况下可能会导致数据丢失。

使用方法:

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

db_name指数据库的名字,必须要指定,后面的表名可以指定也可以不指定,不指定就是操作该数据库下的所有表。

2.mysqlcheck [options] --databases db_name;

该操作可以操作多个数据库,后面跟的是多个需要操作的数据库名字。

3.mysqlcheck [options] --all-databases;

操作所有数据库。

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

选项说明
--analyze,-a分析表
--check,-c检查表中的错误,mysqlcheck的默认操作

--optimize,-o

优化表
--repair,-r执行可能进行的任务修复操作,除了唯一键

 优化操作中,其实执行的是一个重建操作,官网中也建议不要经常去执行优化操作。

InnoDB存储引擎是不支持修复操作的,如果要修复,就要把InnoDB存储引擎转化为MyIsam存储引擎 

特殊操作 :

mysqlcheck程序的默认功能是对数据进行检查操作(相当于--check),如果想要对表进行修复操作,可以通过复制原来的mysqlcheck程序,并重命名为mysqlrepair,并运行mysqlrepair即可,还可以创建mysqlcheck的快捷方式,并且把快捷方式命名为mysqlrepair然后直接运行,这时就执行的是修复操作,通过下表所示的命名方式可以改变mysqlcheck的默认行为:

程序名说明
mysqlrepair默认行为是修复,相当于选项--repair
mysqlanalyze默认行为是修复,相当于分析--analyze
mysqloptimize默认行为是修复,相当于优化--optimize

2.Mysqldump-数据库备份程序:

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

注意:

1.转储表时必须要有SELECT权限。

2.转储视图时必须要有SHOW VIEW权限。

3.转储触发器时必须要有TRIGGER权限。

4.如果没有使用--single-transaction选项时必须要有LOCK TABLES权限。

5.如果没有使用--no-tablespaces选项时必须要有PROCESS权限。

6.重新导入转储文件时,也需要相应的权限。

7.由于mysqldump是逐渐转储数据,所以不太适用于大数据的转储和导入。

 使用方法:

mysqldump的方法通常有以下使用,可以转储一个或多个表和数据库,如下图所示:

mysqldump [options] db_name [tbl_name...]

mysqldump [options] --databases db_name...

mysqldump [options] --all-databases

 常用选项:

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

选项说明
--add-drop-database在每个CREATE DATABASE语句之前添加DROP DATABASE语句
--add-drop-table在每个CREATE TABLE语句之前添加DROP TABLE
--add-drop-trigger在每个CREATE TRIGGER语句之前添加DROP TRIGGER语句
--databases,-B--databases=db_name多个数据库名用空格隔开
--comments,-i添加注释到转储文件中
--compact紧凑格式输出
--ignore-table--ignore-table=db_name.table_name多个表用空格分开
--no-create-db,-n不要生成CREATE DATABASE语句
--no-create-info,-t不要为每个转储的表生成CREATE TABLE语句
--no-data,-d不转储表的内容
--triggers转储每个表中的触发器
--xml,-X异XML格式输出

示例:

test_ab:是指定的数据库名字

/root/dump.sql:导出的路径地址。  

 可以看到这个sql文件已经成功导出,我们可以打开看看:

 mysqladmin-mysql服务管理程序

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

使用方法:

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

 常用选项:

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

语法中command表示命令,有些命令后面需要跟上一个参数,mysqladmin的常用命令:

1.version:显示来自服务器的版本信息。

2.status:显示简短的服务器状态消息。

uptime:mysql已经运行的秒数。

Threads:活动线程(客户端)的数量 

Questions:自服务器启动以来客户端问题(查询)数。

Slow queries:慢SQL的查询数。

Opens:服务器已打开的表数。

Flush tables:服务器已执行flush-*,refresh和reload命令的数量。

Open tables:当前打开的表数。

 3.password new_password

设置新密码

1.如果密码中有空格,则必须要用双引号把密码括起来。

password后面可以省略密码,mysqladmin会在之后提示输入新密码。

password作为最后一个command时才能省略密码值,否则下一个参数将作为密码值。

4.processlist:显示活动服务器线程的列表。

5.kill id,id....

终止服务器线程,如果给出多个线程ID值,则列表中不能有空格。

默认mysql服务器可以维护150个活动连接,如果连接被用完,那么可以通过KILL指定去手动结束休眠时间最常的线程。

mysqlshow-显示数据库,表和列的信息:

mysqlshow可以快速查看数据库,以及数据库中表的列和其中的索引信息。

使用方法:

mysqlshow [数据库名] [表名] [列名] ;

对应的数据库名和表面还有列名可以用通配符*,?,%和_代替。

如果不指定数据库,查询的就是所有的数据库名的列表信息。

如果不指定表,查询的就是数据库中所有匹配的表信息。

如果不指定列名,则查询的就是表中的所有列信息。

注意:前提是当前的权限可以访问的数据库,表和列的信息。

常用选项:

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

mysqldumpslow-总结慢查询日志:

在平时使用mysql时,我们经常使用查询语句,但是有些查询语句执行时间非常长,当执行查询语句的时候超过阈值的时候,就把这个叫做慢查询,慢查询的相关信息被日志记录起来,这个日志就叫慢查询日志mysqldumpslow可以解析慢查询日志文件并汇总其中内容

我们也可以查看慢查询的时间(阈值),通过:

当,查询的时间大于10秒并且开启了慢查询日志功能,这条sql就会被记录在慢查询日志中。

使用方法:

mysqldumpslow [options] [log_file...] 

如果有慢查询的话,显示如下:

mysqldumpslow会将相似查询的分组并显示摘要输出,一般会把数字用“N”代替,字符串用“S”代替。

常用选项文件:

在使用-s,sort_type选项文件时,有以下的可选值:

t,at:按查询时间或者平均查询时间进行排序。

l,al:按锁占用时间或者平均锁占用时间排序。

r,ar:按照发送行数或者平均发送行数进行排序。

c:按照记数排序。

mysqlbinlog处理二进制日志文件:

当我们平时对数据库的修改时,或者对数据进行增删改时,都会被描述成一个‘事件’,每个‘事件’都会以二进制的形式被保存到一个日志文件中,这个文件就是服务器中的二进制日志文件,又称Binary log或者binlog。

mysqlbinlog的作用:

以文本的形式读取二进制文本中的内容。

注意:保存在默认数据目录中:

Linux下的默认目录:/var/lib/mysql

Windows下的默认目录:C:\ProgramData\MySQL\MySQL Server 8.0\Data

这些binlog日志文件保存了具体的内容。

这里如果打开一个文件显示如下:

常用选项:

mysqlbinlog有下面一些选项文件,可以通过命令行或者通过选项文件进行指定,在选项文件中通过[mysqlbinlog]或[client]组下进行指定:

mysqlslap-负载仿真客户端

作用:

mysqlslap是一个诊断程序,用于模拟mysql服务器的客户端,并报告每个阶段的时间,就好比多个客户端正在访问服务器一样。

使用方法:

mysqlslap可以使用以下语法:

mysqlslap [options];

注意事项:

1.可以通过--create或--query选项,指定包含SQL语句的字符串和包含sql语句的文件

2.如果指定一个包含sql语句的文件,默认情况每行必须包含一条语句

3.如果要把一条语句分为多行书写,可以用--delimiter选项指定不同的分隔符。

4.不能在文件中包含注释,因为mysqlslap不能解析注释。

5.mysqlslap运行时分为三个阶段:

        5.1创建测试数据阶段,创建用与测试的库,表或者数据,这个阶段使用单个客户连接

        5.2运行负载测试阶段,这个阶段可以使用许多客户端连接。

        5.3清理阶段,执行删除表,断开连接层,断开连接等操作,这个阶段使用单个客户端连接。

示例:

注意:图片打错了,应该是50个客户端,每个客户端发起200条语句。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#WPF实战出真汁09--【消费开单】--选择菜品

1、功能介绍当选择一个空桌时,必须先开台才能开单,可以先开台,再开单,也可以开台的同时开单当选择一个用餐中的餐桌时,必须显示该桌前面已经点好的菜品,同时可以继续点餐或结账所以无论哪个功能都涉及选择菜…

大厂语音合成成本深度对比:微软 / 阿里 / 腾讯 / 火山 API 计费拆解与技术选型指南

在 AI 配音、智能客服、教育音频等场景爆发的当下,语音合成 API 已成为企业技术栈中的核心组件。然而,不同云厂商的计费规则差异显著,短文本 / 长文本计费分离、预付费 / 后付费价格梯度悬殊、音色授权费暗藏成本陷阱等问题,常导致…

Flutter开发 网络请求

HttpClient&#xff08;dart自有&#xff09; 1.get 点击请求按钮获取数据&#xff0c;解析数据获取单词展示到屏幕上。class MyState extends State {String info "暂无数据";List<Widget> texts [];overridevoid initState() {super.initState();}override…

vscode中用python调用matlab的函数(环境安装)

本实践适用于WIN11-x64和ubuntu22.04-x64系统&#xff0c;其余系统和架构未验证。 效果展示 1.环境要求 MATLAB Engine API for Python 的系统要求&#xff1a;参阅此官方文档MATLAB 与 Python 的版本兼容性&#xff1a;参阅此官方文档 2.安装步骤 安装Vscode&#xff08;不…

【数据分享】大清河(大庆河)流域上游土地利用

而今天要说明数据就是大清河&#xff08;大庆河&#xff09;流域上游土地利用。数据介绍大清河&#xff0c;又称大庆河&#xff0c;作为海河流域的重要支流&#xff0c;其流域上游地区不仅是区域水资源调控的关键节点&#xff0c;更是生态保护与经济发展的重要载体。以下从地理…

图论——Djikstra最短路

原理解释 首先解释一下它大概的应用场景以及原理&#xff1a;现在有这么一张图&#xff0c;图上各点之间都有一定的边权或者说是距离。给定你一个起点&#xff08;例如点1&#xff09;&#xff0c;让你求这个点到图上所有点的最短距离是多少&#xff1f; 这个问题比较平常&…

kafka初步介绍

Kafka角色介绍TopicTopic主题的意思&#xff0c;消费者必须指定主题用于的消息发送&#xff0c;生产者也必须指定主题用于消息的接收。topic只是逻辑上的划分。partitionpartition是分区的意思&#xff0c;他的主要作用是将发送到一个topic的数据做一个划分。如果有4个partitio…

windows10的vs2019编译openssl静态库备忘

1、下载安装openssl源码2、官网下载安装activeperl或Strawberry Perl。官网下载慢&#xff0c;网盘找找。使用中activeperl有些异常提示、缺模块&#xff0c;最后使用了Strawberry Perl。3、安装nasm。powershell使用choco install nasm -y 即可。powershell使用cd命令打开当前…

学习笔记与效率提升指南:编程、记忆与面试备考

在学习与工作中&#xff0c;高效的记录习惯、针对性的记忆方法和实用的技能储备&#xff0c;是提升效率的关键。本文结合编程学习、面试备考和英语单词积累&#xff0c;整理一套可落地的学习思路&#xff0c;尤其适合编程初学者。 一、学习核心原则&#xff1a;高效优先&#x…

顺丰面试题

1. 你擅长处理哪类问题推荐回答&#xff1a; "我比较擅长处理以下几类前端问题&#xff1a;性能优化&#xff1a;包括加载优化&#xff08;代码分割、懒加载&#xff09;、运行时优化&#xff08;减少重排重绘&#xff09;等复杂组件开发&#xff1a;如表单联动、可视化图…

Warmup_steps 设置经验

文章目录什么是 Warmup&#xff1f;实现示例科学设置 Warmup 的黄金法则直观例子什么是 Warmup&#xff1f; Warmup 是一种学习率调度策略&#xff0c;在训练初期逐步增加学习率&#xff08;LR&#xff09;&#xff0c;而不是直接使用目标学习率。它解决了两个关键问题&#x…

vue一个超简单的菜单栏伸缩示例

代码<template><div class"container"><!-- 左侧区域 --><div class"left-side" :style"{ width: leftWidth px }">左侧内容</div><!-- 右侧区域 --><div class"right-side" :style"{ l…

Spark学习(Pyspark)

&#xff08;1&#xff09;Spark基础入门 ①什么是Spark Spark是一款分布式内存计算的统一分析引擎。其特点就是对任意类型的数据进行自定义计算。Spark可以计算&#xff1a;结构化、半结构化、非结构化等各种类型的数据结构&#xff0c;同时也支持使用Python、Java、Scala、R以…

PDF压缩原理详解:如何在不失真的前提下减小文件体积?

与直接删除内容不同&#xff0c;良好的PDF压缩能在大幅减小体积的同时&#xff0c;较好地保留原有文字清晰度和图像质量&#xff0c;兼顾实用性与视觉效果。软件操作十分直观&#xff0c;仅需设置输入文件与输出路径&#xff0c;点击【开始压缩】按钮即可启动处理。画质压缩等级…

从应用场景看国产化FPGA潜力,紫光同创研讨会武汉·北京站回顾

八月&#xff0c;紫光同创 FPGA 技术研讨会先后在武汉、北京举行。作为紫光同创官方合作伙伴&#xff0c;ALINX 携紫光同创 FPGA 开发板及行业解决方案亮相&#xff0c;与来自通信、工业控制、医疗、图像视频、消费电子等领域的近 200 位行业专家齐聚一堂&#xff0c;通过主题演…

安卓APK包体优化全攻略

目录 正常默认打包流程&#xff08;以Android平台为例&#xff09; 查看编辑器打包日志 压缩图片 压缩网格模型 压缩贴图 压缩音频文件 只打64位包 最终大小 正常默认打包流程&#xff08;以Android平台为例&#xff09; 准备工作&#xff1a; 确保已安装最新版Unity H…

嵌入式学习日记(28)进程、线程

回收资源空间子进程回收策略1、wait阻塞回收&#xff1a;一般情况下父进程专门负责回收2、waitpid非阻塞回收&#xff1a;搭配轮询方式回收3、不回收&#xff1a;子进程任务一致执行4、异步回收&#xff1a;子进程结束后通知父进程进行回收exec 函数族三种调用外部程序的方式#i…

测试用例的一些事项

为什么要写测试用例&#xff1f;写测试用例的原因是为了避免遗漏测试&#xff0c;我们要根据给的文档将逻辑都表达出来&#xff0c;不能因为简单而不写&#xff0c;日后版本更新就知道自己哪些测了哪些没测。在没有文档的时候测试用例该怎么写&#xff1f;大家可以考虑安全测试…

当Java遇见AI:飞算驱动的个人博客介绍智能生成风暴

一、飞算JavaAI&#xff1a;重新定义个人开发的"智能魔法棒" 1.1 开发者需求变革&#xff1a;从"技术门槛"到"创意优先"的时代 在数字化浪潮席卷全球的今天&#xff0c;个人品牌建设已成为技术从业者、创业者乃至学生的刚需——无论是程序员分享…

小程序排名优化:用户行为数据背后的提升密码

用户在小程序中的每一次点击、每一次停留、每一次分享&#xff0c;都在产生着有价值的数据。这些看似零散的用户行为数据&#xff0c;其实隐藏着提升小程序排名的密码。平台在判定小程序排名时&#xff0c;用户行为数据是重要的参考依据&#xff0c;因为它直接反映了小程序对用…