我有一个数据库(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}
它所做的是导出一些被忽略的表的结构和其他表的内容。这样做是为了使数据库占用更少的空间。
我不确定是否有更好的方法来做到这一点。
我的问题是:
在“dump content”中,我只想使用最后1000个结果来减少其内容,但问题是并非所有表都相关或包含相同的字段来过滤它们。
如果不能对单个字段进行筛选,如何筛选最新记录?我能以更快的方式实现数据库的导出/导入吗?
1条答案
按热度按时间hpcdzsge1#
简而言之:你不能那样做。
长答案:你可以选择一个“限制1000”例如,并写入文件。但不管你背后的原因是什么,我强烈建议你不要那样做。如果要备份所有内容,请执行完全备份。如果你想保持数据库的速度,不要担心,学习如何使用索引。如果你想这样做只是为了让它组织得井井有条,并摆脱你不再需要的数据,就把它们保存在数据库中,因为它们不会造成任何伤害。如果要与另一个数据库同步数据,请设置复制。