ty9919 发表于 2018-10-7 10:06:13

mysql中now和sysdate的区别

  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的取值)等

页: [1]
查看完整版本: mysql中now和sysdate的区别