zoukankan      html  css  js  c++  java
  • mysqldump备份原理

    mysqldump的本质是通过select * from tab来获取表的数据的。

    FLUSH TABLES WITH READ LOCK

    --执行flush tables操作,并加一个全局读锁

    SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ

    --设置当前会话的事务隔离等级为RR,RR可避免不可重复读和幻读。

    START TRANSACTION 

    -- 获取当前数据库的快照,这个是由mysqldump中 --single-transaction决定的。 这个只适用于支持事务的表,在MySQL中,只有Innodb。

    注意:START TRANSACTION和START TRANSACTION WITH CONSISTENT SNAPSHOT并不一样,

    START TRANSACTION WITH CONSISTENT SNAPSHOT是开启事务的一致性快照。

    SHOW MASTER STATUS

    --这个是由--master-data决定的,记录了开始备份时,binlog的状态信息,包括MASTER_LOG_FILE和MASTER_LOG_POS

    UNLOCK TABLES

    --释放锁

  • 相关阅读:
    java中的接口
    java中的多态
    java中的继承
    抽象和封装
    表单验证
    13、迭代器与生成器
    10、end关键字和Fibonacci series: 斐波纳契数列
    9、字典
    8、元组
    2、Python_Day_1_作业
  • 原文地址:https://www.cnblogs.com/9527l/p/13360378.html
Copyright © 2011-2022 走看看