Mysql二进制日志同步问题?

wanshi0724 2010-12-19 11:03:23
Mysql设置主从同步,若php添加或修改记录以绑定方式,比如zend framework框架,
结果是主服务器正常,从服务器的整形列数据都有问题,主服务器如果是1,从服务器变成了49,看了一下二进制文件,对应显示是0x31;若php直接以常规方式添加或修改,则主从服务器都正常。
请问以上是什么原因引起的,如何能解决呢?
...全文
36 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zuoxingyu 2010-12-20
  • 打赏
  • 举报
回复
1:在命令行下在主库插入一条简单记录,然后看看从库取到的日志。再用PHP插入一条相同的记录,再取日志,比较一下有什么不一样的。

2:看看日志记录

mysql> show variables like '%binlog_format%';
+---------------+-----------+
| Variable_name | Value |
+---------------+-----------+
| binlog_format | STATEMENT |
+---------------+-----------+
1 row in set (0.00 sec)



wanshi0724 2010-12-20
  • 打赏
  • 举报
回复
非自增列,tinyint(1)或者其他整形数据列,通过绑定方式更新的数据
rucypli 2010-12-20
  • 打赏
  • 举报
回复
整数列是自增列?
wanshi0724 2010-12-20
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zuoxingyu 的回复:]
1:在命令行下在主库插入一条简单记录,然后看看从库取到的日志。再用PHP插入一条相同的记录,再取日志,比较一下有什么不一样的。

2:看看日志记录

SQL code

mysql> show variables like '%binlog_format%';
+---------------+-----------+
| Variable_name | Value |
……
[/Quote]

binlog_format MIXED

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

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧