首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重命名崩溃的myisam表的安全方法

问重命名崩溃的myisam表的安全方法
EN

Database Administration用户
提问于 2016-09-08 09:51:52
回答 1查看 655关注 0票数 0

我有一个大的MyISAM表,它已经崩溃了。修理这张桌子要花些时间。只从INSERTed到SELECTed的表,从未更新过。为了允许应用程序继续工作,尽管能力降低,我想

  • 重命名崩溃的表
  • 创建具有原始名称的新表
  • 切换处理重新启动
  • 修复备份表
  • 关闭处理
  • 合并修复的数据和新的数据
  • 开机处理

由于应用程序的性质,此过程中的其他步骤不构成任何风险。重命名崩溃的MyISAM表安全吗?多么?

我相信我不能简单地改变TABLE...RENAME..。因为这总是将逐行复制放入一个新表中。

显然,Peter使用了一个"将所有MyISAM表移出MySQL数据库目录的微型脚本“,但似乎没有给出这个脚本的详细功能(大概是先停止数据库吗?)。

EN

回答 1

Database Administration用户

发布于 2016-09-09 23:01:57

这样做可能有效,但要谨慎行事:

代码语言:javascript
复制
CREATE TABLE new LIKE real;   -- copy schema
RENAME TABLE real TO bad, new TO real;  -- replace broken table with empty
REPAIR TABLE bad;     -- slowly repair
RENAME TABLE real TO old, bad TO real;  -- replace empty table with fixed table
DROP TABLE old;   -- clean up

我不知道CREATE是否能处理坏了的real。

RENAMEs是“瞬时”的。

然后计划转移到InnoDB。

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/149092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档