前文的一个细节

http://blog.itpub.net/29254281/viewspace-1392757/


5.--master-data + --single-transaction


同时使用上面两个参数,在通用日志中,记录操作如下

mysqldump 备份原理9_sql语句

 



其中,

SET session TRANSACTION isolation LEVEL REPEATABLE read

START TRANSACTION /*!40100 WITH consistent snapshot */

是一个神奇的操作

一般来说,MySQL的事务开始是Start transaction之后,第一个SQL语句(无论是select,insert,update,delete)

也就是说事务的LSN不是start transaction语句本身,而是之后的第一个SQL语句

mysqldump 备份原理9_mysql_02

 


上述实验的隔离级别是可重复读.


但是

START TRANSACTION /*!40100 WITH consistent snapshot */

这个语句,则可以直接开启一个事务.

也就是说事务的LSN以START TRANSACTION /*!40100 WITH consistent snapshot */为准.

mysqldump 备份原理9_mysql_03