mysqldump --where 子句未按预期工作

mysqldump --where clause is not working as expected

我只想转储最新的行。但是当我通过 --where 选项时,它不会转储行。但是当我使用相同的 where 子句执行 select 查询时,它 returns 行。这是我的 select 查询:

SELECT  * FROM abc.`xyz` WHERE UPDATED_AT >="2015-11-11 10:03:37";

这是我的 mysqldump 命令:

 mysqldump --no-create-info --replace -h source_server --user=backup1 --password='passcode' abc xyz --where='UPDATED_AT >="2015-11-11 10:03:37"'  > "backup.sql"

上面的mysqldump命令有什么问题为什么不转储记录?

转储文件部分如下:

 --
 -- Dumping data for table `xyz`
 --
 -- WHERE:  UPDATED_AT >='2015-11-11 10:03:37'

 LOCK TABLES `xyz` WRITE;
 /*!40000 ALTER TABLE `xyz` DISABLE KEYS */;
 /*!40000 ALTER TABLE `xyz` ENABLE KEYS */;
 UNLOCK TABLES;

where 子句中的UPDATED_AT 字段类型是时间戳我将字段类型更改为DATETIME。它按预期工作。

对于上述字段类型更改的最新版本,但对于 mysql 5.0.5 FROM_UNIXTIME 有效。

尝试以下命令:

mysqldump --tz-utc=0 --no-create-info --replace -h source_server --user=backup1 --password='passcode' abc xyz --where='UPDATED_AT >="2015-11-11 10:03:37"'  > "backup.sql"