10bet网址
MySQL 8.0参考手册
相关的文档10bet官方网站 下载本手册 从本手册中摘录

4.5.3 mysqlcheck - 表维护程序

mysqlcheck客户端执行表维护:它检查,修复,优化或分析表。

每个表都被锁定,因此在正在处理时对其他会话不可用,但对于检查操作,表将锁定只锁定(见第13.3.6节“锁定表和解锁表陈述”,以获取有关锁)。表维护操作可能非常耗时,特别是对于大型表。如果你使用--databases.——所有数据库选项要在一个或多个数据库中处理所有表,请调用mysqlcheck可能需要很长时间。(如果它确定需要表检查,则这对于MySQL升级过程也是如此,因为它以同样的方式处理表。)

mysqlcheckmysqld服务器正在运行,这意味着您不必停止服务器执行表维护。

mysqlcheck使用SQL语句检查表修复表分析表,优化表以一种方便用户的方式。它确定要执行的操作使用哪些语句,然后将语句发送到要执行的服务器。关于每条语句使用的存储引擎的详细信息,请参见第13.7.3节,“表维护声明”

所有存储引擎不一定支持所有四个维护操作。在这种情况下,将显示错误消息。例如,如果test.t是一个内存表,尝试检查它产生如下结果:

Shell > mysqlcheck test t测试。t注意:存储引擎不支持检查

如果mysqlcheck无法修复表格,见第2.11.13节,“重建或修理表或索引”用于手动表修复策略。例如,这是如此InnoDB桌子,可以使用检查表,但没有修复修复表

警告

在执行表修复操作之前,最好在表格备份;在某些情况下,操作可能导致数据丢失。可能的原因包括但不限于文件系统错误。

有三种普遍的援引方式mysqlcheck

mysqlcheck [选项]db_name.[tbl_name...]mysqlcheck [选项]——数据库db_name....mysqlcheck [选项]  - 所有数据库

如果您不命名任何表以下db_name.或者如果你使用--databases.——所有数据库选项,检查整个数据库。

mysqlcheck与其他客户端程序相比有一个特殊的特性。检查表的默认行为(——检查)可以通过重命名二进制文件来更改。如果您希望有一个默认修复表的工具,您应该只复制一份mysqlcheck命名mysqlrepair.,或制作象征性的链接mysqlcheck命名mysqlrepair..如果你邀请mysqlrepair.,它修理桌子。

可以使用下表中显示的名称进行更改mysqlcheck默认行为。

命令 意义
mysqlrepair. 默认选项是——修复
mysqlanalyze. 默认选项是——分析
mysqloptimize 默认选项是- 优化

mysqlcheck支持以下选项,可以在命令行或(mysqlcheck)(客户端)选项文件的组。有关MySQL程序使用的选项文件的信息,请参见第4.2.2.2节,“使用选项文件”

表4.13 mysqlcheck选项

选项名称 描述 介绍了 弃用
——所有数据库 检查所有数据库中的所有表
——all-in-1 为每个命名该数据库中所有表的数据库执行一条语句
——分析 分析表
——自我修护 如果已选中的表已损坏,则会自动修复它
——bind-address 使用指定的网络接口连接MySQL服务器
——character-sets-dir 安装字符集的目录
——检查 检查表格中是否有错误
- 仅改变了 只检查自上次检查以来更改的表
——check-upgrade 使用for升级选项调用检查表
- 压缩 压缩客户端和服务器之间发送的所有信息 8.0.18
- 复杂算法 允许的压缩算法用于连接到服务器 8.0.18
--databases. 将所有参数解释为数据库名称
——调试 编写调试日志
--debug-check. 程序退出时打印调试信息
- 调试信息 程序退出时打印调试信息,内存和CPU统计信息
- Default-Auth. 使用身份验证插件
--default字符集 指定默认字符集
--defaults-extra-file 读取通常选项文件之外的命名选项文件
——defaults-file 只读命名选项文件
——defaults-group-suffix 选项组后缀值
——enable-cleartext-plugin 启用明文身份验证插件
- 扩展 检查和修理表
——快 只检查没有正确关闭的表
——力 即使发生SQL错误,也会继续
- etget-server-public-key 请求来自服务器的RSA公钥
- 帮助 显示帮助消息和退出
- 主持人 MySQL服务器所在的主机
——登录路径 从.mylogin.cnf阅读登录路径选项
- Medium-Check. 请检查比 - 扩建的操作更快
——已 读取没有选项文件
- 优化 优化表
——密码 连接到服务器时使用的密码
- 管道 使用命名管道连接到服务器(仅适用于Windows)
-plugin-dir. 安装插件的目录
——港口 连接的TCP / IP端口号
- 打印默认值 打印默认选项
——协议 要使用的传输协议
- 快的 最快的检查方法
——修复 执行一个修复,可以修复几乎任何东西,除了唯一的键不是唯一的
- server-public-key-path 包含包含RSA公钥的文件的路径名称
-shared-memory-base-name 共享内存连接的共享内存名称(仅适用于Windows)
- 沉默的 静默模式
--skip-database 从执行的操作中省略此数据库
- 插座 要使用的Unix套接字文件或Windows命名管道
--ssl-ca. 包含可信SSL证书权限列表的文件
——ssl-capath 包含受信任的SSL证书颁发机构证书文件的目录
- ssl-cert. 包含X.509证书的文件
——ssl cipher 连接加密的允许密码
- ssl-crl. 包含证书撤销列表的文件
--ssl-crlpath. 包含证书撤销列表文件的目录
--ssl-fips-mode 客户端是否启用FIPS模式
——ssl密钥 包含x.509密钥的文件
- ssl-mode. 服务器连接所需的安全状态
——表 覆盖--databases或-b选项
——tls-ciphersuites 允许的tlsv1.3加密连接的Ciphersuites 8.0.16
--tls-version. 用于加密连接的允许TLS协议
- 使用-US-FRM. 用于MyISAM表上的修复操作
——用户 连接到服务器时使用的MySQL用户名
- 韦尔斯 详细模式
- 版本 显示版本信息并退出
——write-binlog 日志分析,优化,修复语句到二进制日志。--skip-write-binlog将no_write_to_binlog添加到这些语句
--zstd-compression级 与使用ZSTD压缩的服务器的连接的压缩级别 8.0.18