MySQLdump工具是按照一致性快照读的原理设计的因此跟着此原理做了如下实验
1、mysql数据库修改参数
mysql> set global log_output = 'table';
mysql>set global general_log = on;
2、使用mysqldump命令备份库
/usr/local/mysql/bin/mysqldump -uroot -p -S/tmp/mysql.sock3388 --all-databases --single-transaction --master-data =2 > alldatabase.sql
3、查看general_log分析结果
select * from general_log;
开始备份
FLUSH /*!40101 LOCAL */ TABLES
FLUSH TABLES WITH READ LOCK #拿一把全局读锁
SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ
--mysql会在session级别设置一个事物隔离级别为RR
START TRANSACTION /*!40100 WITH CONSISTENT SNAPSHOT */
--开启一个一致性快照
SHOW MASTER STATUS
unlock tables
SELECT LOGFILE_GROUP_NAME, FILE_NAME, TOTAL_EXTENTS, INITIAL_SIZE, ENGINE, EXTRA FROM INFORMATION_SCHEMA.FILES WHERE FILE_TYPE = 'UNDO LOG' AND FILE_NAME IS NOT NULL AND LOGFILE_