我有 200GB / 400Mrows mysql/innodb 数据库——远远超出了我发现的合理范围。
一个令人惊讶的问题是恢复备份。mysqldump 生成巨大的 sql 文件,它们需要大约一周的时间才能导入到新的数据库中(尝试使其更快,如更大/更小的事务,在导入期间关闭密钥等,网络压缩等到目前为止失败,myisam 导入似乎快 2 倍,但不会有交易)。
更糟糕的是 - 我希望能得到一些帮助 - 在一周的时间段内传输 > 200GB 的网络连接有很大的中断机会,并且 sql 导入过程不能以任何重要的方式继续。
处理它的最佳方法是什么?现在,如果我注意到连接断开,我会手动尝试通过检查最后一个导入表的最高主键来确定它何时结束,然后有一个 perlscript 基本上可以做到这一点:
perl -nle 'BEGIN{open F, "prelude.txt"; @a=<F>; print @a; close F;}; print if $x; $x++ if /INSERT.*last-table-name.*highest-primary-key/'
这真的不是要走的路,那么最好的方法是什么?