When we use mysqldump to back up data, we have the option-where/-w. You can specify the backup conditions. The options are described as follows:
-W, -- where = name Dump only selected records. Quotes are mandatory
We can perform a test, for example:
mysqldump --single-transaction -w ' id < 10000 ' mydb mytable > mydump.sql
At this time, you can back up all records of id <10000 in mytable. Suppose we want to add a time range condition, for example:
mysqldump --single-transaction -w " id < 10000 and logintime < unix_timestamp('2014-06-01')" mydb mytable > mydump.sql
Here, you must pay attention to the single quotation marks and double quotation marks to avoid this situation:
mysqldump --single-transaction -w ' id < 10000 and logintime < unix_timestamp('2014-06-01') ' mydb mytable > mydump.sql
In this case, the result condition is parsed:
WHERE id < 10000 and logintime < unix_timestamp(2014-06-01)
Upon discovery, the time condition changes:
WHERE id < 10000 and logintime < unix_timestamp(2014-06-01)
That is, it becomes:
unix_timestamp(2007)
This is quite different from our original vision, so be cautious.