mysql - MYSQL 数据库修复耗时极长
问题描述
我有一个大小约为 7GB 的 MYSQL MISAM 表,并且有相当多的索引。该表昨天损坏了,我的 MYSQL 修复工作现在已经工作了 12 多个小时。
我想知道这样一个表的 MYSQL 修复实际需要多长时间?(由于修复正在运行,我目前无法准确获得行数和确切大小)。
我使用的变量是:
| myisam_max_sort_file_size | 9223372036853727232 |
| myisam_mmap_size | 18446744073709551615 |
| myisam_recover_options | FORCE |
| myisam_repair_threads | 1 |
| myisam_sort_buffer_size | 268435456
| read_buffer_size | 67108864 |
| read_only | OFF |
| read_rnd_buffer_size | 4194304
由于使用 GODADDY 托管主机,我无法更改任何全局变量。
修复一直是国家所见的“分类修复”。有没有其他方法可以加快这个修复过程?
谢谢
我还尝试从 2 天前的备份(恢复到新数据库)中恢复数据库,过去 5 小时它也停留在同一张表上的“使用 keycache 修复”上。
我尝试了 mysqlcheck 和 REPAIR TABLE,而不是 myisamchk,因为我无法访问 /var/lib/mysql 中的特定数据库文件夹,这会导致 Permission Denied 错误。以及 myisamchk 空命令给出命令未找到。
解决方案
应该需要几分钟。如果 12 小时后仍未完成,则它可能挂起并且永远不会完成。
MyISAM 已经有十多年没有真正得到维护了,你很可能遇到了一个错误。myisamchk
如果您可以掌握原始数据库文件,您可能会有更好的机会。
推荐阅读
- php - 如何在使用 eloquent 时排除某些列 拉拉维尔
- javascript - 表单转发器中的 Vue.js 表单转发器
- string - 字符串中的逗号(千位分隔符)
- python - Kivy (Android):ScrollView.scroll_to() 不显示键盘隐藏的小部件
- javascript - 如何使用 Levenshtein Distance 验证 javascript 中的句子?
- python - 如何通过简单的自定义函数使用 pandas rolling apply?
- php - 如何将我网站中任何有效或无效的链接重定向到 index.php?
- java - 使用 Java 15 启用持久性的 Apache Ignite 服务器节点(2.9.1)抛出异常
- excel - OpenXML 从连接的单元格中获取单元格文本
- python-3.x - 使用 Boto3 将数字插入 DynamoDB 表