Rey*_*ier 5 mysql mysqldump backup mysql-5.5 row-modification-time
我在问是否可以在 MySQL 中仅导出在一段时间内修改的行,例如在过去一个月中修改的行,如果可能,如何?
这取决于具有时间戳列的表。
mysqldump有一个--where
选项,您可以在转储特定表时定义该选项
如果您有一个名为mydb.mytab
定义如下的表
CREATE TABLE mytable
(
id INT NOT NULL AUTO_INCREMENT,
tm TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (id)
);
Run Code Online (Sandbox Code Playgroud)
您可以在该表上指定日期范围,如下所示(2013 年 6 月):
WHERE_CLAUSE="(tm >= '2013-06-01 00:00:00') AND"
WHERE_CLAUSE="${WHERE_CLAUSE} (tm < '2013-07-01 00:00:00')"
mysqldump -uroot -p mydb mytable --where="${WHERE_CLAUSE}"
Run Code Online (Sandbox Code Playgroud)
这将是最有帮助的,因为时间戳可以自动更新。
我写了一篇Aug 15, 2011
关于如何使用--where
不基于时间戳转储数据子集的文章:是否有可能 mysqldump 重现查询所需的数据库子集?
如果您在所需的表中没有时间戳列,最好只保留在任何给定月份生成的所有二进制日志。
归档时间: |
|
查看次数: |
5668 次 |
最近记录: |