Mysql设置主从同步,若php添加或修改记录以绑定方式,比如zend framework框架,
结果是主服务器正常,从服务器的整形列数据都有问题,主服务器如果是1,从服务器变成了49,看了一下二进制文件,对应显示是0x31;若php直接以常规方式添加或修改,则主从服务器都正常。
请问以上是什么原因引起的,如何能解决呢?

解决方案 »

  1.   

    非自增列,tinyint(1)或者其他整形数据列,通过绑定方式更新的数据
      

  2.   

    1:在命令行下在主库插入一条简单记录,然后看看从库取到的日志。再用PHP插入一条相同的记录,再取日志,比较一下有什么不一样的。2:看看日志记录mysql> show variables like '%binlog_format%';
    +---------------+-----------+
    | Variable_name | Value     |
    +---------------+-----------+
    | binlog_format | STATEMENT |
    +---------------+-----------+
    1 row in set (0.00 sec)
      

  3.   


    binlog_format  MIXED命令行及php非绑定模式下都正常,只有在zend framework框架绑定添加或修改时会出现该问题。
    tinyint(1)或者其他整形数据列,原值1,从服务器变成了49,看了一下二进制文件,对应显示是0x31