查看“Mysqlcheck - 表维护程序”的源代码
←
Mysqlcheck - 表维护程序
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
mysqlcheck客户端执行表维护操作:检查、修复、优化或分析表。 <br> 每个表在处理过程中都会被锁定,因此对其他会话来说是不可用的,尽管对于检查操作,表只被锁定为读锁。表维护操作可能需要很长时间,特别是对于大型表。如果你使用–databases或–all-databases选项来处理一个或多个数据库中的所有表,mysqlcheck的调用可能会花费很长时间。(这也适用于MySQL升级过程,如果它确定需要进行表检查,因为它以相同的方式处理表。) <br> mysqlcheck必须在mysqld服务器运行时使用,这意味着你不需要停止服务器来执行表维护操作。 <br> mysqlcheck以用户方便的方式使用了SQL语句CHECK TABLE、REPAIR TABLE、ANALYZE TABLE和OPTIMIZE TABLE。它确定了要用于要执行的操作的语句,然后将语句发送到服务器以执行。 所有存储引擎不一定支持所有四种维护操作。在这种情况下,会显示错误消息。例如,如果test.t是一个MEMORY表,尝试对其进行检查会产生以下结果: <pre>$> mysqlcheck test t test.t note : The storage engine for the table doesn't support check</pre> <br> 对于InnoDB表,可以使用CHECK TABLE进行检查,但不能使用REPAIR TABLE进行修复。 <br> <blockquote>警告 在进行表修复操作之前最好对表进行备份;在某些情况下,操作可能导致数据丢失。可能的原因包括但不限于文件系统错误。 </blockquote> <br> 有三种通用方法可以调用mysqlcheck: <pre>mysqlcheck [options] db_name [tbl_name ...] mysqlcheck [options] --databases db_name ... mysqlcheck [options] --all-databases</pre> <br> 如果您在db_name后面没有指定任何表名,或者您使用了–databases或–all-databases选项,则整个数据库将被检查。 <br> mysqlcheck与其他客户端程序相比具有特殊功能。默认检查表的行为(–check)可以通过重命名二进制文件来更改。如果你想让工具默认修复表,你应该只是复制mysqlcheck命名为mysqlrepair,或者创建一个名为mysqlrepair的符号链接指向mysqlcheck。如果你调用mysqlrepair,它将修复表。 <br> 以下表格中显示的名称可用于更改mysqlcheck的默认行为。 {| class="wikitable" |- ! Command ! Meaning |- | mysqlrepair | The default option is –repair |- | mysqlanalyze | The default option is –analyze |- | mysqloptimize | The default option is –optimize |}
返回至“
Mysqlcheck - 表维护程序
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
基础知识
正则表达式
Markdown
分布式
项目管理
系统集成项目管理基础知识
云原生
Docker
云原生安全
云原生词汇表
十二因素应用
Kubernetes
音频处理
音频合成
Edge-tts
CMS系统
Docsify
VuePress
Mediawiki
自动生成
Marp
CI/CD
GitLab
设计
颜色
平面设计
AI
数字人
操作系统
GNU/Linux
数据库
Mysql
工具
链入页面
相关更改
特殊页面
页面信息