MySQL Error number: MY-010396; Symbol: ER_NDB_SLAVE_MISSING_DATA_FOR_TIMESTAMP_COLUMN; SQLSTATE: HY000

文档解释

Error number: MY-010396; Symbol: ER_NDB_SLAVE_MISSING_DATA_FOR_TIMESTAMP_COLUMN; SQLSTATE: HY000

Message: NDB Slave: missing data for %s timestamp column %u.

错误说明:

MY-010396 错误代码 ER_NDB_SLAVE_MISSING_DATA_FOR_TIMESTAMP_COLUMN 将SQLSTATE HY000 。

此错误是由MySQL抛出的,当在作为从服务器时,发生缺失或是影响其他值的时刻标记值缺失,此错误代码会抛出。

常见案例

解决方法:

1.检查从服务器和主服务器的时间戳列时间是否一致,如果存在不一致的情况,可能会出现该错误。可以重新同步两者的时间,然后再次进行同步操作。

2.在 MySQLSlaveMonitor 里,将 retry_failed_dumps 设置为1 即可,这样可以强制Slave等待下一次发生变动后,从 Masterbinlog 日志重新拉取剩余更新,通过完成剩余更新,以防止ER_NDB_SLAVE_MISSING_DATA_FOR_TIMESTAMP_COLUMN错误发生。

3.禁用 GTID 对时戳列操作,这样容易出现ER_NDB_SLAVE_MISSING_DATA_FOR_TIMESTAMP_COLUMN错误。

4.使用非二进制存储引擎,替换二进制存储引擎,因为二进制存储引擎会记录每一列的变化,如果存在变化的时间戳列,并且在从bin log中没有记录到这个列的变更时,就会出现MY-010396 错误。

5.检查是否有垃圾文件导致数据不一致的情况,可以使用检查工具来进行检查,清除垃圾文件影响。

你可能感兴趣的