• 关于MySQL主从复制中UUID的警告信息


    版权声明:欢迎增加【开源技术交流群 316630025】: https://jq.qq.com/?

    _wv=1027&k=5GrHn71 https://blog.csdn.net/renfufei/article/details/26730315

    日期: 2014年5月23日

    博客: 铁锚

    近期在查看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,那么就须要在应用层,或者採用 基于行的复制方式 了。

  • 相关阅读:
    DeepLearning4J 环境搭建【转】
    MxNet C++和python环境配置
    Vmvare + Ubuntu 16.04环境搭建 + 相关软件安装配置笔记【深度学习】
    caffe-windows环境配置(github上官方BVLC/caffe的推荐配置方法详解)
    pycaffe + anaconda2 + python2.7.配置
    【Win7 x64】+【annaconda3】+ 【python3.5.2】+【tensorflow-gpu】 [最终配置 gtx 940mx + Cuda8.0+cudnn v5.1 + tensorflow-gpu1.0.0 ]
    tensorboard的使用
    windows + python3.5.2 + anaconda3 + dlib 安装配置
    [python]selenium常用的操作
    [python]Pytest+selenium+git+jenkins持续集成
  • 原文地址:https://www.cnblogs.com/ldxsuanfa/p/10629196.html
  • Copyright © 2020-2023  润新知