zoukankan      html  css  js  c++  java
  • mysql5.5 对触发器,函数,存储引擎,事件进行主从复制情况.(转)

      

    mysql5.5 对触发器,函数,存储引擎,事件进行主从复制情况.

    转(http://blog.csdn.net/m582445672/article/details/7670802)

    一、MySQL主从复制有三种模式.

    1.binlog_format = row  : 日志中会记录成每一行数据被修改的形式(记录页面),然后在 slave 端再对相同的数据进行修改。

    2.binlog_format = statement  : 每一条会修改数据的 SQL 都会记录到 master 的 bin-log 中。slave 在复制的时候 SQL 进程会解析成和原来 master 端执行过的相同的 SQL 再次执行。

    3.binlog_format = mixed : 这个模式是在5.1.8版本之后, 才有的. mixed是row和statement的混合模式.


    二、触发器的主从复制.

    A .当binlog_format = statement 或 或 binlog_format = mixed (使用混合模式用的是statement 方式)  这种模式下复制情况

    1. 主从复制的时候,主从触发器都受到definer从句的约束.只有主从上都有这个用户才能正常运行这个触发器.

    2. 主服务器上SQL语句传到从服务器上,从服务器再执行SQL语句去触发从服务器的触发器(这里要说明是:主服务器不会把触发后的SQL传递给从服务器).

    这里可以看到,传递是原始的SQL语句.


    B .当binlog_format = row 或 binlog_format = mixed(使用混合模式用的是row方式)  这种模式下复制情况

    1. 主服务器把被修改的页面复制给从服务器,并且这个修改的页面的值是触发后的改变值.

    2. 因为这个页面的值是触发后改变的值, 所以在从服务器上可以不需要这个触发器.

    3. 删除从服务器上的触发器.一样的可以得到跟主服务器一样的值.


    三、存储过程的主从复制

    1. 主服务器上的存储过程同样收到definer从句的约束.但是,在复制的时候,从服务上不需要有存储过程

    A. 当binlog_format = statement 或binlog_format = mixed (使用混合模式用的是statement 方式)  这种模式下复制情况


    可以看到通过系统函数转换后的值复制给从服务器.不需要在从服务器上建立当binlog_format = row 或 binlog_format = mixed(使用混合模式用的是row方式)

    B .当binlog_format = row 或 binlog_format = mixed(使用混合模式用的是row方式)  这种模式下复制情况


    四、函数主从复制

    A . 当binlog_format = statement 或binlog_format = mixed (使用混合模式用的是statement 方式)  这种模式下复制情况

    1. 主从复制的时候,主从触发器都受到definer从句的约束.只有主从上都有这个用户才能正常运行这个函数

    2.  主服务器上SQL语句复制从服务器上,从服务器再执行SQL语句再去调用从服务器的函数(主服务器不会把函数的返回值传给从服务器的)



    B. 当binlog_format = row 或 binlog_format = mixed(使用混合模式用的是row方式)  这种模式下复制情况

    1.主服务器会直接把修改过的页面复制给从服务器,从服务器不需要有对应的函数


    五、事件主从复制

    当事件有用函数,触发器,存储过程时.跟上面的操作情况是一样的.

    但有一点不同的是.

    在主服务器上建立一个event,当然,在从服务器上也会创建一个event..(默认情况下主event复制到从服务器的event是关闭着的)

    1.主服务器上的event


    2.从服务器上的event


    如果在从服务器,开启事件.不仅主服务器复制过来的SQL语句执行一遍,从服务器上的EVENT也会执行.



  • 相关阅读:
    C++ Primer Plus 6 第二章
    C++ Primer Plus 6 第一章
    log4j不同级别的日志打印到不同的目录
    清理(删除)pika中的数据
    大数据技术发展回顾
    Flink RedisRichSinkFunction
    Flink FlinkEnvBuilder
    Flink maven project build config
    RedisRichSinkFunction
    kafka Consumer2Local
  • 原文地址:https://www.cnblogs.com/xmanblue/p/5325227.html
Copyright © 2011-2022 走看看