同一条记录,开发发现主库的创建时间和备库的创建时间不一致,刚开始怀疑是系统时间的问题,想想又不对,mysql的binlog里面会打自己的时间戳,那是什么原因呢?
项灵刚(2009-03-26 13:51:31):
http://jianghu.taobao.com/u/MjAzMzA4ODI=/poll/poll_detail-12011.htm
项灵刚(2009-03-26 13:51:40):
三胜的投票记录也有两个时间
陶方(14:07:56):
insert into poll_record_s (JOIN_RECORD_ID,PRO_USER_ID,POLL_ID,REC_USER_ID,GMT_CREATE) values(10000,52215139,10000,54109544,sysdate())
陶方(14:08:12):
这个sql是谁写的?sysdate会导致时间不同步的
陶方(14:08:17):
要用now函数
陶方(14:29:02):
sysdate是去读取系统的时间戳,now是读取数据库的时间戳
陶方(14:29:47):
当进行主从同步的时候,主库执行完一条语句,会把自己的数据库时间戳同步到备库上
陶方(14:30:04):
这时候备库执行相同的语句会获得相同的时间戳
陶方(14:30:37):
要是用sysdate,就算数据库时间戳同步了也没用,因为取的是系统时间戳。
总结:尽量在mysql中用now函数。