【小白福利—初级DBA入门必看】MySQL常用工具介绍(六)——客户端工具MySQL_check

本文详细介绍了MySQLcheck工具的用途、选项、常见用法及表维护语句,包括CHECK TABLE、ANALYZE TABLE、OPTIMIZE TABLE和REPAIR TABLE。MySQLcheck用于检查、修复、优化和分析表,对数据库管理员(DBA)进行日常维护至关重要。文章通过实例展示了如何使用这些语句,并提到了连接方式、字符集和调试日志等相关设置。
摘要由CSDN通过智能技术生成

作为程序员你对MySQLcheck了解多少呢?如果没有深入了解过那也不用担心,这里有最全最详细的介绍,现在跟着Amy了解也不算晚哦~

1 . 简介

mysqlcheck用来维护表:check检查、repair修复、optimize优化、analyze分析。
除检查表是read锁定外,其它都是write锁定。
表维护操作可能耗时较多,尤其是–databases和–all-databases选项要维护大量表时。
当mysql升级程序决定要check表,相当于调用mysqlcheck。
最好在执行表修复操作前备份表,因为某些情况下(如文件系统错误),该操作可能导致数据丢失。
mysqlcheck实际上是根据选项参数确定CHECK TABLE, REPAIR TABLE, ANALYZE TABLE, OPTIMIZE TABLE四种语句,并将其发送到服务器执行。这四种语句不一定支持所有储存引擎,这种情况下会显示错误信息。
调用方式:
shell> mysqlcheck [options] [–tables] db_name [tbl_name …]
shell> mysqlcheck [options] --databases db_name …
shell> mysqlcheck [options] --all-databases
选项可以从[mysqlcheck]和[client]中读取。
mysqlcheck相对于其他客户端程序有些特殊。他还可以通过改名、建立软连接等方式,修改默认的–check行为为其他行为,程序名称与行为对应如下:
在这里插入图片描述

2 . 选项介绍与部分选项举例说明

#注意:这里的默认值,不是使用“程序名 --no-defaults --help”打印的输出,而是指未指定时内部初始值,该值可被自身选项显示指定,也可能会受其他互斥选项、相关选项更改。这里只写出默认启用的布尔型选项,以及有内部值的其他选项。有内部值的选项可以不显示给出。
2.1 所有客户端共有选项
mysqlcheck作为MySQL提供的客户端的之一,具有以下五种通用选项。
2.1.1 影响选项文件读取的选项
在这里插入图片描述
2.1.2 帮助与版本
在这里插入图片描述
2.1.3 连接的建立
在这里插入图片描述
在这里插入图片描述
连接方式参数说明:优先级–protocol>–pipe>-h;
linux两种连接方式:若未指定–host和-h,或指定为localhost,或指定为空(–host=或–host=’’),则使用unix套接字;否则使用tcp/ip。
windows三种连接方式:若未指定–host和-h,或指定为localhost,且服务端开启了共享内存,则使用共享内存;若指定为.,或tcp禁用且socket未指定或主机指定为空(–host=),则使用命名管道;否则tcp。
连接方式举例
全平台使用tcp/ip:
mysql --protocol=tcp [-h127.0.0.1] [–port=3306]
mysql -h127.0.0.1 [–port=3306]

unix使用socket:
mysql [–host=localhost] [–socket=/tmp/mysql.sock]

windows使用命名管道:需在服务端开启命名管道支持
mysql --protocol=pipe
mysql --pipe
mysql --host=.

windows使用共享内存:未知,存在问题。理论上应当在服务上开启共享内存后使用
mysql [–host=localhost] --shared-memory-base-name=MYSQL,但是实际上使用的tcp,或者
mysql --protocol=memory --shared-memory-base-name=MYSQL,但是会报错ERROR 2046 (HY000): Can’t open shared memory; cannot send request event to server (5);

2.1.4 字符集

在这里插入图片描述
2.1.5 调试日志
在这里插入图片描述

2.2 mysqlcheck特定选项
在这里插入图片描述

3 常见用法举例

分析所有的数据库的数据表:mysqlcheck -A -a
优化sakila,clientoptions数据库:mysqlcheck --optimize -B sakila clientoptions
检查mysql.user表

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值