MySQL数据库常见工具的基础使用_1

在上一篇文章中提到了对MySQL数据库进行操作的一些常见工具 

mysqlcheck

mysqlcheck是一个用于数据库表的检查,修复,分析和优化的一个客户端程序

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

使用过程中注意事项

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

使用方式

mysqlcheck [options] 数据库名 [表名]

要是不指定表名 ,数据库中的所有表都会进行检查 
通常情况下 mysqlcheck会有如下的一些选项

mysqlcheck基本选项

  • 选项                                            说明
  • --analyze  -a                               分析表
  • --auto-repair                               如果检查的表有损坏,则自动修复它,所有表都检查过之后才进行必要的修复
  • --check   -c                                  仅检查自上次检查以来更改过的表
  • --databases,-B                          --databases 数据库名 多个数据库名用空格进行分割,处理指定数据库中的所有表
  • --force, -f                                     即使SQL错误也要继续
  • --optimize,  -o                              优化表
  • --repair, -r                                    执行可能进行的任务修复操作,除了唯一键
  • --skip-database                           --skip-database=数据库名       不需要执行检查的数据库名
  • --tables                                        --tables=表名  多个表名用空格隔开   在选项之后的所有名称参数都被视为表名
  • --use-frm                                      对于MyISAM表的修复操作 

上述指令中如果我们要对InnoDB存储引擎进行表的修复repair是不支持进行修复的,此时我们可以先把InnoDB存储引擎转化为MyISAM(这些存储引擎后期的文章中会详细提到的)。

第一个指令分析表的使用  后面的指令可以自己下去试一试

mysqlcheck的特殊使用 

mysqlcheck程序的默认功能是对数据表进行检查操作(相当于指定选项--check) 如果想对表进行修复操作,可以通过复制原来的mysqlcheck程序,并重命名为mysqlrepair,直接运行即可,还可以通过把mysqlcheck的快捷方式重命名为mysqlrepair然后直接运行就可以了

  • mysqlrepair              默认是修复  相当于选项--repair
  • mysqlanalyze           默认是修复  相当于选项--analyze
  • mysqloptimize          默认是修复  相当于选项--optimize 

 mysqldump

mysqldump是一个数据库备份的工具 他可以执行逻辑备份并生成一组sql语句,其中包含了原始数据库和表的定义以及表中的数据,以便实现对数据库的简单备份或复制,他可以生成CSV,XML格式的文件

mysqldump使用时注意事项

  • 转储表时必须有select权限
  • 转储视图时必须要有show view权限
  • 转储触发器时必须要有trigger权限
  • 如果没有使用--single-transaction选项时必须要有lock tables权限
  • 如果没有实现--no-tablespaces选项时必须要有process权限
  • 重新导入转储文件时,也需要有相应的权限
  • 由于mysqldump是逐行转储数据,所以不适合大数据量的转储与导入

使用方式

mysqldump [options] 数据库名 表名

可以转储一个或多个表或者数据库

mysqldump常用选项

  • 选项                                                     说明
  •  --add-drop-database                         在每个create database 语句之前添加 drop database
  • --add-drop-table                                 在每个create table语句之前加上drop table语句
  • --add-drop-trigger                               在每个create trigger语句之前加上 drop trigger语句
  • --add-locks                                          用lock tables 和 unlock tables语句包裹灭个表转储
  • --all-databases,-A                             转储所有数据库中的所有表
  • --databases,-B                                  将参数解释为数据库名称并转储所有的表
  • --comments,-i                                    添加注释到转储文件
  • --compact                                            紧凑格式输出
  • --compatible=ansi                               生成与其他数据库或旧MYsql服务器更兼容的输出
  • --complete-insert,-c                          使用包含列名的完整insert语句
  • --events,-E                                       从转储数据库中转储事件
  • --extended-insert,-e                          使用多行insert语法
  • --flush-logs,-F                                   在开始转储前刷新日志
  • --flush-privileges                                  在转储后刷新权限
  • --force,-f                                             转储期间发生了sql错误也要继续
  • --hex-blob                                               使用十六进制表示法转储二进制序列
  • --no-data,-d                                         转储过程中不转储表的内容
  • --xml,-X                                               以xml的格式进行输出

太多了这里罗列了一些常见的,有需要的话可以去官方文档读一读

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

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

相关文章

前端逆向之下载canvas引用的图片

前端逆向之下载canvas引用的图片 一、来源二、解决三、如果在Network这里也找不到呢? 一、来源 当我们用dom检查器的时候无法选中想要扒下来的图片,只能选中canvas,这种时候该怎么办呢? 二、解决 这个时候应该换个脑子&#xf…

怎么排查native层的bug

方法一: android studio debug 直接运行,LLBD 不要打断点。会自动定位到错误 方法二:错误日志分析 ---》奔溃后,在logcat中查询SIGSEGV信号量。 ---》在Device Explorer中 data/tombstones 里就有日志信息。 备注:。。。。$su…

AI菜鸟向前飞 — LangChain系列之十六 - Agent系列:从现象看机制(下篇)一款“无需传递中间步骤“的Agent

前言 AI菜鸟向前飞 — LangChain系列之十四 - Agent系列:从现象看机制(上篇) AI菜鸟向前飞 — LangChain系列之十五 - Agent系列:从现象看机制(中篇)一个Agent的“旅行” 回顾前两篇文章,大家会…

endnote IEEEtran 参考文献 输出Latex

文章目录 参考文献Latex1. 新建格式1.1 新建BibTeX Export样式文件1.2 保存自定义文献格式 2 修改2.1 修改Journal Names 为简写2.2 修改Author Lists2.3 修改 模版 Templates 3. 特殊字符作者名字标题 4. 增加期刊简写4.1 删除已有简写的Term Lists 4.2 下载最新的Term LIsts4…

ApsaraMQ Copilot for RocketMQ:消息数据集成链路的健康管家

作者:文婷 引言 如何正确使用消息队列保证业务集成链路的稳定性,是消息队列用户首要关心的问题。ApsaraMQ Copilot for RocketMQ 从集成业务稳定性、成本、性能等方面帮助用户更高效地使用产品。 背景 消息队列产品通过异步消息的传递,来…

git环境代码版本控制

初装git环境需要配置用户名和邮箱,否则git会提示:please tell me who you are. 你需要运行命令来配置你的用户名和邮箱: $ git config --global user.name "superGG1990” $ git config --global user.email “superGG1990163.com” 注意…

Linux shell编程学习笔记55:hostname命令——获取或设置主机名,显示IP地址和DNS、NIS

0 前言 2024年的网络安全检查又开始了,对于使用基于Linux的国产电脑,我们可以编写一个脚本来收集系统的有关信息。其中主机名也是我们要收集的信息之一。 1. hostname命令 的功能、格式和选项说明 我们可以使用命令 hostname --help 来查看hostname命令…

深入了解 Android 中的 system.img

1. 简介 1.1 什么是 system.img? 在 Android 系统中,system.img 是一个关键的系统镜像文件,它包含了 Android 操作系统的核心组件、系统应用程序以及供应商提供的驱动程序和库文件。这个镜像文件以一种特定的格式存储整个系统文件系统&…

AV1视频编码格式

背景:开发进行技术分享,给出了AV1与VP8和H.264的编码效果对比图。 优点:编码速度快、性能消耗低、同码率下画质更清晰、同画质下视频压缩率更高。此外,相比于H.264、H.265, AV1属于开放式的视频编码标准,不…

如何检查网站文件是否有病毒

本周有一个客户,购买Hostease的主机, 客户购买的是Linux虚拟主机,带cPanel面板的。询问我们的在线客服,他想检查下他的网站程序是否有病毒文件。Hostease虚拟主机附带病毒扫描软件功能,可以协助检查网站程序是否有病毒…

四足机器人步态仿真(二)PyBullet 机械臂运动学仿真(以绘制圆形路径为例)

观前提醒:本章主要内容是通过PyBullet仿真kuka机械臂,并控制机械臂末端按照预定轨迹运动 一、什么是运动学? 运动学是物理学的一个分支,专注于物体的运动描述,包括位移、速度、加速度等,而不考虑这些运动是…

【c++设计模式17】行为模式2:命令模式(Command Pattern)

【c设计模式17】行为模式2:命令模式(Command Pattern) 一、定义二、适用场景三、过程四、命令模式类图五、C示例代码六、使用注意事项 原创作者:郑同学的笔记 原创地址:https://zhengjunxue.blog.csdn.net/article/det…

蓝牙中央管理器初始化详解

文章目录 蓝牙中央管理器初始化详解1、接口解释2、Options解释1、CBCentralManagerOptionShowPowerAlertKey2、CBCentralManagerOptionRestoreIdentifierKey3、CBCentralManagerOptionDeviceAccessForMedia 蓝牙中央管理器初始化详解 1、接口解释 /*!* method initWithDeleg…

做外贸你以为客户会懂,但是你还是要讲出来!

很多人都认为,我们公司介绍里啥都有,公司规模有多大,认证有哪些,产品能做什么?我们写在那里,客户就应该懂。 其实,不是的。 客户真的关注不了那么多,可能看到了,也就是看…

真心建议女生疯狂转行IT这5个方向

低学历女生们,不要再固守在文员、客服等岗位上了!这些看似轻松却局限性强的工作已经过时了。现在是时候换个思路,尝试一些热门、好就业的IT职业了! . ✅ 鸿蒙开发: 平均月💰:15~30k 入门难度&am…

运维工具 - SFTP 和 FTP 的区别?

SFTP 和 FTP 的区别有三点 连接方式 SFTP 是在客户端和服务器之间通过 SSH 协议建立的安全连接来传输文件,而 FTP 则是 TCP 端口 21 上的控制连接建立连接。 安全性 SFTP 使用加密传输认证信息来传输数据,因此 SFTP 相对于 FTP 更安全的。 效率 SF…

代码杂谈 之 pyspark如何做相似度计算

在 PySpark 中,计算 DataFrame 两列向量的差可以通过使用 UDF(用户自定义函数)和 Vector 类型完成。这里有一个示例,展示了如何使用 PySpark 的 pyspark.ml.linalg.Vectorspyspark.sql.functions.udf 来实现这一功能&#xff1a…

Windows Linux下查看静态库,动态库各种命令的总结

Windows环境下查看库文件 静态库(.lib) 使用lib.exe查看库内容 命令示例:lib /list C.lib使用dumpbin.exe查看库的详细信息 命令示例:dumpbin /headers C.lib动态链接库(.dll) 使用dumpbin.exe查看DLL的导出信息 命令示例:dumpbin /exports B.dll

Android Studio的Gradle面板里不显示task,build ,assemble 无法出aar包

按照以下方式把对应开关打开就可以正常进行build/assemble进行aar的生成了

多级菜单的实现一

总共分享三种实现多级菜单方式,前面两种是裸机式的,第三种是带有FreeRTOS。 1、首先处在第一级菜单:显示 同时按下一项按钮,flag会变化,光标会根据flag的值,在界面上不同位置显示出光标 按下确定&#xff…