查看“使用myisamchk进行崩溃恢复”的源代码
←
使用myisamchk进行崩溃恢复
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
本节描述了如何检查和处理MySQL数据库中的数据损坏问题。如果您的表经常出现损坏,应尽量找出原因。 如果您使用禁用外部锁定(默认设置)运行mysqld,您不能可靠地使用myisamchk检查正在使用相同表格的mysqld表。如果您确定在运行myisamchk时没有人可以使用mysqld访问表格,您只需在开始检查表格之前执行mysqladmin flush-tables命令即可。如果无法保证这一点,您必须在检查表格时停止mysqld。如果您在mysqld正在更新的同时运行myisamchk来检查表格,即使表格没有损坏,您也可能会收到损坏表格的警告。 如果服务器以启用外部锁定的方式运行,您可以随时使用myisamchk来检查表格。在这种情况下,如果服务器尝试更新myisamchk正在使用的表格,服务器会等待myisamchk完成后继续执行。 如果您使用myisamchk来修复或优化表格,您必须始终确保mysqld服务器没有使用该表格(如果禁用外部锁定也适用)。如果您不停止mysqld,您至少应该在运行myisamchk之前执行mysqladmin flush-tables命令。如果服务器和myisamchk同时访问表格,可能会导致表格损坏。 在进行崩溃恢复时,重要的是要理解数据库目录中每个MyISAM表tbl_name对应于以下表中显示的文件。 {| |- | 文件 | 目的 |- | tbl_name.MYD | 数据文件 |- | tbl_name.MYI | 索引文件 |} myisamchk的工作原理是逐行创建.MYD数据文件的副本。在修复阶段结束时,它会删除旧的.MYD文件并将新文件重命名为原始文件名。如果您使用--quick选项,myisamchk不会创建临时的.MYD文件,而是假设.MYD文件是正确的,并且仅生成新的索引文件而不触及.MYD文件。这是安全的,因为myisamchk会自动检测.MYD文件是否损坏,并在损坏时中止修复。您还可以向myisamchk指定两次--quick选项。在这种情况下,myisamchk不会在某些错误(如重复键错误)上中止,而是尝试通过修改.MYD文件来解决这些错误。通常,只有在磁盘空间不足以执行正常修复时,使用两个--quick选项才有用。在这种情况下,在运行myisamchk之前,您至少应该备份表格。
返回至“
使用myisamchk进行崩溃恢复
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
基础知识
正则表达式
Markdown
分布式
项目管理
系统集成项目管理基础知识
云原生
Docker
云原生安全
云原生词汇表
十二因素应用
Kubernetes
音频处理
音频合成
Edge-tts
CMS系统
Docsify
VuePress
Mediawiki
自动生成
Marp
CI/CD
GitLab
设计
颜色
平面设计
AI
数字人
操作系统
GNU/Linux
数据库
Mysql
工具
链入页面
相关更改
特殊页面
页面信息