mysql 中now获取的是sql执行的时间,sysdate获取的是系统时间
在master 和slave 主从过程中会导致时间的不一致导致报错
例如:
Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave.
解决办法:
1、修复这种问题。
2、不使用statement的语句级别复制,而是类似于oracle的,将数据变更记录下来,原样在备库执行一遍。
第二种方式就是大家熟知的,binlog_format=ROW的方式。第一种就是now()不使用机器系统时间,而是取mysql的变量”TIMESTAMP”值。
另外的类似的变量还包括insert_id(用于复制时,AUTO_INCREMENT的取值)等
原文地址:http://12182612.blog.51cto.com/12172612/1980376