导出/导入数据库的速度比目前快

时间:2018-09-12 07:36:56

标签: mysql bash import

我有一个以这种方式导出的数据库(MYSQL):

echo "Dump structure"
mysqldump -S /path/db.sock --user = $ {USER} --password = $ {PASSWORD} --single-transaction --no-data $ {DATABASE}> $ {DB_FILE}

echo "Dump content"
mysqldump -S /path/db.sock --user = $ {USER} --password = $ {PASSWORD} $ {DATABASE} --no-create-info $ {IGNORED_TABLES_STRING} >> $ {DB_FILE}

它的作用是导出一些被忽略表的结构以及其他表的内容。这样可以使数据库占用更少的空间。

我不确定是否还有其他最佳方法。

我的问题是这个:

在“转储内容”中,我只想取最后1000个结果以减少其内容,但是问题是,并非所有表都相关或包含相同的字段来过滤它们。

如果无法对单个字段执行最新记录,该如何过滤? 我可以更快地实现数据库的导出/导入吗?

1 个答案:

答案 0 :(得分:0)

简短的回答:您不能这样做。

长答案:例如,您可以选择“ LIMIT 1000”并将其写入文件。但是,无论您出于什么原因,我强烈建议您不要这样做。如果要备份所有内容,请进行完整备份。如果您想保持数据库的快速运行,请不必担心,并学习如何使用索引。如果您要这样做只是为了使其井井有条,并删除不再需要的数据,则只需将它们保留在数据库中即可,因为它们不会造成任何危害。如果要与另一个数据库同步数据,请设置复制。