MySQL Error number: MY-010113; Symbol: ER_BACK_IN_TIME; SQLSTATE: HY000

文档解释

Error number: MY-010113; Symbol: ER_BACK_IN_TIME; SQLSTATE: HY000

Message: Iteration %d: Obtained valid current time from system

错误说明

MySQL的MY-010113错误,同时指的是ER_BACK_IN_TIME和SQLSTATE HY000,是MySQL Server出现的一种通常的可恢复的错误。它指出MySQL Server试图执行一个回到过去的操作,有可能会造成一些未知的后果而对系统发生安全性风险。

常见案例

ER_BACK_IN_TIME错误通常发生在MySQL Server尝试执行INSERT或者UPDATE语句时。MySQL Server会检测目标表是否有没有被创建完成。如果未完成创建,将会抛出一个ER_BACK_IN_TIME错误,因为MySQL Server可以检测到这种操作会导致我们回到过去,从而对数据库系统发生安全性风险。

解决方法

可以采取以下步骤来解决ER_BACK_IN_TIME错误,要么让MySQL服务器等待数据库表完成创建或者修复,要么更改MySQL的系统参数来禁用“反向时间”检测机制。

第一步:确保目标表正在正常操作,或者正在完成修复或创建操作。

第二步:修改MySQL参数,在my.cnf中找到system-variable节点,加入以下参数:

[system-variable]

BACK_IN_TIME=ON

最后,重新启动MySQL服务器,使上述参数生效。

另外,报错后,用户还可以使用show table status [table_name]语句,查看表状态是否正常。

你可能感兴趣的