我有Linux服务器和一个需要转储的巨大的mysql表。事情是,服务器是生产服务器,我不想一次全部丢弃而使它崩溃。我也打算通过ssh将其通过管道传输到另一台服务器。因为我不想填满磁盘空间。我了解mysqldump —where
子句,但不想编写这些ID的脚本。 mysql中是否有任何允许部分转储的本机功能?它不一定必须是mysqldump,但它必须是局部的,因此我不会使服务器崩溃,而需要通过ssh将其传递给管道。
其他信息:此表中从未更新记录。它们仅被添加
MySQL文档:如their docs所述,mysqldump不适合大型数据库。他们建议备份原始数据文件。
答案 0 :(得分:1)
如果您真正关心的是负载而不是使生产崩溃,那么也许您应该看看这篇文章:How can I slow down a MySQL dump as to not affect current load on the server? 有关如何使用正确的mysqldump args备份大型生产数据库的信息。
对生产数据库进行切片最终可能会更加危险。 另外,我也不知道条目在数据库中的更新频率,但是对导出进行切片会给您带来关于数据的不一致转储,具有来自不同时间的相同表的切片