我在远程服务器上有我的客户端完整的数据库(大小=大约80 GB),这样我无法检索它的完整模式(所有表,视图,存储过程等)没有服务器崩溃或超时的数据。
因此,我需要构建一个脚本,将完整的MySQL数据库架构和有条件限制的数据集(例如,最近1年或2年的记录/行)转储到单独的.sql.gz
或.sql.bz2
文件。
现在我知道如何通过命令行导出/转储完整的数据库,但我无法找到在导出脚本中设置数据限制的方法。
mysqldump -u <username> -p -A -R -E --triggers --single-transaction > full_backup.sql
任何人都可以帮助我吗?
答案 0 :(得分:0)
--where
选项可用于过滤转储的行。您为它提供了一个参数,其中包含将在WHERE
查询的SELECT
子句中进行的测试。
mysqldump -u username -p --where='date > NOW() - INTERVAL 2 YEAR' databasename tablename > tablename.sql
在转储整个数据库而不是特定表时,这可能不起作用,因为所有表都不太可能具有要以相同方式过滤的date
字段。