答案1
通常,您无法通过从 /var/lib/mysql 复制数据库然后再将其复制回来的方式备份数据库,因为它们已损坏,您必须使用 mysqldump。
因此,如果您进入 /var/lib/mysql 中的数据库文件夹之一,即 /var/lib/mysql/myDB/ 并弄乱一些应该执行此操作的文件:-)
因此,我建议复制其中一个文件,用十六进制编辑器稍加编辑,然后再复制回来。
答案2
cat DB1.myd /dev/random > DB2.myd
答案3
你可以使用模糊测试工具zzuf模糊测试预先存在的数据库文件,例如
zzuf < good.myd > fuzzed.myd
答案4
我建议,模拟故障的更现实的方法是当 MySQL 执行密集更新时,将其从脚下抽走。向进程发出 SIGKILLmysqld
应该就足够了。很有可能,当您重新启动 MySQL 时,有问题的表将被标记为崩溃。
或者,我建议应用其他人的建议,但针对的是.MYI
indec 文件而不是数据文件。