关于MySQL主从复制中UUID的警告信息
2014-05-23 18:09
501 查看
日期: 2014年5月23日
博客: 铁锚
最近在查看MariaDB主从复制服务器 Master 的错误日志时看到很多条警告信息,都是提示 UUID()函数不安全,可能 Slave 产生的值和 Master不一致, 警告信息大致如下:
在网上找了一些资料,显示 5.0 版本是绝对有问题的,怎么办呢? 要么修改实现,比如在应用层生成 UUID,要么就采用基于行,而不是基于语句的二进制日志格式。
据说 5.0 以后是不一定的,翻看了一些官方文档,好像 5.6 版本修正了这个问题。 参考链接: 22 Changes in MySQL 5.6.0
还有个是09年的文档,说是当时有这个问题
: https://drupal.org/node/502622
还有一个更详细的文章: Beware
of MySQL 5.6 server UUID when cloning slaves
我们使用的是MariaDB5.5,应该是兼容 MySQL5.5吧,经排查这个问题系统已经自己解决了。
如果不能升级DMBS,那么就需要在应用层,或者采用
基于行的复制方式 了。
博客: 铁锚
最近在查看MariaDB主从复制服务器 Master 的错误日志时看到很多条警告信息,都是提示 UUID()函数不安全,可能 Slave 产生的值和 Master不一致, 警告信息大致如下:
140522 15:11:10 [Warning] 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. Statement: insert into t_user(userId,userName) values(uuid(),'FunYoung')大致翻译为中文如下所示:
140522 15:11:10 [警告] 因为使用的格式是 BINLOG_FORMAT = STATEMENT, 所以写入到二进制日志中的语句可能是不安全的. 语句不安全是因为使用了一个系统函数, 在 slave从服务器上执行可能会生成不一致的数值. 语句如下: insert into t_user(userId,userName) values(uuid(),'FunYoung')看样子是说,因为slave的 UUID() 函数产生的值可能和Master的不一致,所以使用 BINLOG_FORMAT = STATEMENT这种日志格式是不安全的。
在网上找了一些资料,显示 5.0 版本是绝对有问题的,怎么办呢? 要么修改实现,比如在应用层生成 UUID,要么就采用基于行,而不是基于语句的二进制日志格式。
据说 5.0 以后是不一定的,翻看了一些官方文档,好像 5.6 版本修正了这个问题。 参考链接: 22 Changes in MySQL 5.6.0
还有个是09年的文档,说是当时有这个问题
: https://drupal.org/node/502622
还有一个更详细的文章: Beware
of MySQL 5.6 server UUID when cloning slaves
我们使用的是MariaDB5.5,应该是兼容 MySQL5.5吧,经排查这个问题系统已经自己解决了。
MariaDB [(none)]> select version(); +--------------------+ | version() | +--------------------+ | 5.5.34-MariaDB-log | +--------------------+ 1 row in set (0.00 sec)如果你遇到这个问题,假如还可以升级数据库系统,那就升级到最新版那就没事了。
如果不能升级DMBS,那么就需要在应用层,或者采用
基于行的复制方式 了。
相关文章推荐
- 关于MySQL主从复制中UUID的警告信息
- 关于MySQL主从复制中UUID的警告信息
- MySQL主从复制中关于AUTO_INCREMENT的奇怪问题
- MySQL主从复制中关于AUTO_INCREMENT的奇怪问题
- 记录关于搭建mysql主从复制中遇见的问题
- 关于 MySQL 主从复制的配置(转)
- 关于Mysql5.6半同步主从复制的开启方法
- 关于Mysql5.6半同步主从复制的开启方法【转】
- 关于mysql主从复制
- MySQL主从复制中关于AUTO_INCREMENT的奇怪问题
- MySQL-5.5主从关于‘复制过滤’的深入探究
- mysql 关于主从复制
- MySQL主从复制中关于AUTO_INCREMENT的奇怪问题
- 关于mysql主从复制的过滤机制的测试
- MySQL主从复制中关于AUTO_INCREMENT的奇怪问题
- MySQL主从复制中关于AUTO_INCREMENT的奇怪问题
- MySQL 5.5主从关于‘复制过滤’的深入探究
- 关于MySQL 主从复制问题
- 关于mysql主从复制error_code 1593的小异常BUG
- 保存一篇关于MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)...