mysql企业版有两个值得付费的工具:mysql enterprise backup、thread pool。

下面来分析下MEB工作原理:

1.先来个全备

/usr/local/meb5.7/bin/mysqlbackup --user=root --password=root  --with-timestamp  --backup-dir=/tmp/  backup 2>/tmp/meb.log

通过查看mysqlbackup屏幕输出,可以看到先拷贝所有innodb files。

160823 12:35:36 mysqlbackup: INFO: Full Backup operation starts with following threads1 read-threads    6 process-threads    1 write-threads160823 12:35:36 mysqlbackup: INFO: Starting to copy all innodb files...
160823 12:35:36 mysqlbackup: INFO: Copying /data/mysql/mysql3306/data/ibdata1 (Barracuda file format).
160823 12:35:36 mysqlbackup: INFO: Found checkpoint at lsn 2530796.
160823 12:35:36 mysqlbackup: INFO: Starting log scan from lsn 2530304.
160823 12:35:36 mysqlbackup: INFO: Copying log...
160823 12:35:36 mysqlbackup: INFO: Log copied, lsn 2530805.
160823 12:35:42 mysqlbackup: INFO: Copying /data/mysql/mysql3306/data/mysql/engine_cost.ibd (Barracuda file format).
160823 12:35:43 mysqlbackup: INFO: Completing the copy of innodb files.

然后开始拷贝binlog文件,拷贝完后锁表(注意最后一个binlog文件在锁表后拷贝)#xtrabackup没有备份binlog文件

160823 12:35:43 mysqlbackup: INFO: Starting to copy Binlog files...
160823 12:35:43 mysqlbackup: INFO: Copying /data/mysql/mysql3306/logs/mysql-bin.000001.
160823 12:35:43 mysqlbackup: INFO: Preparing to lock tables: Connected to mysqld server.
160823 12:35:43 mysqlbackup: INFO: Starting to lock all the tables...
160823 12:35:43 mysqlbackup: INFO: All tables are locked and flushed to disk
160823 12:35:43 mysqlbackup: INFO: Copying /data/mysql/mysql3306/logs/mysql-bin.000004.
160823 12:35:43 mysqlbackup: INFO: Completed the copy of binlog files...

最后拷贝非innodb 信息(表结构定义信息、字典信息等)并解锁

160823 12:35:43 mysqlbackup: INFO: Starting to backup all non-innodb files insubdirectories of '/data/mysql/mysql3306/data'
160823 12:35:43 mysqlbackup: INFO: Copying the database directory 'zhangshuo'
160823 12:35:43 mysqlbackup: INFO: Completing the copy of all non-innodb files.160823 12:35:43 mysqlbackup: INFO: All tables unlocked

查看备份期间生成的general log,创建了备份信息表

2016-08-23T04:35:36.640964Z        13 Query     USE mysql
2016-08-23T04:35:36.641747Z        13 Query     CREATE TABLE IF NOT EXISTS mysql.backup_progress( `backup_id` BIGINT NOT NULL, `tool_name` VARCHAR(4096) NOT NULL, `error_code` INT NOT NULL, `error_message` VARCHAR(4096) NOT NULL, `current_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP               ON UPDATE CURRENT_TIMESTAMP,`current_state` VARCHAR(200) NOT NULL ) ENGINE=CSV DEFAULT CHARSET=utf8 COLLATE=utf8_bin
2016-08-23T04:35:36.642264Z        13 Prepare   INSERT INTO mysql.backup_progress( backup_id, tool_name, error_code, error_message, current_state ) VALUES (?,?,?,?,?)

2.apply-log后在datadir目录下可以看到恢复的数据

/usr/local/meb5.7/bin/mysqlbackup  --backup-dir=/tmp/2016-08-23_12-35-36/  apply-log

[root@localhost datadir]# ls -lh
总用量 2.6G
-rw-r--r--. 1 root root 1.0K 8月  23 12:35 ibbackup_logfile
-rw-r--r--. 1 root root  362 8月  23 12:35 ib_buffer_pool
-rw-r--r--. 1 root root 1.0G 8月  23 12:35 ibdata1
-rw-r-----. 1 root root 512M 8月  23 12:42 ib_logfile0
-rw-r-----. 1 root root 512M 8月  23 12:42 ib_logfile1
-rw-r-----. 1 root root 512M 8月  23 12:42 ib_logfile2
drwxr-x---. 2 root root 4.0K 8月  23 12:35 mysql
-rw-r--r--. 1 root root  177 8月  23 12:35 mysql-bin.000001
-rw-r--r--. 1 root root  445 8月  23 12:35 mysql-bin.000002
-rw-r--r--. 1 root root  177 8月  23 12:35 mysql-bin.000003
-rw-r--r--. 1 root root 1.4K 8月  23 12:35 mysql-bin.000004
-rw-r--r--. 1 root root   76 8月  23 12:35 mysql-bin.index
drwxr-x---. 2 root root 4.0K 8月  23 12:35 sys
drwxr-x---. 2 root root 4.0K 8月  23 12:35 zhangshuo

3.将apply好的数据恢复到实例

[root@localhost tmp]# /usr/local/meb5.7/bin/mysqlbackup --defaults-file=/etc/my.cnf  --backup-dir=/tmp/2016-08-23_12-35-36/ copy-back

160823 14:02:35 mysqlbackup: INFO: Copying /tmp/2016-08-23_12-35-36/datadir/ibdata1.mysqlbackup: Progress in MB: 200 400 600 800 1000
160823 14:02:43 mysqlbackup: INFO: Copying /tmp/2016-08-23_12-35-36/datadir/mysql/engine_cost.ibd.
160823 14:02:43 mysqlbackup: INFO: Copying /tmp/2016-08-23_12-35-36/datadir/mysql/gtid_executed.ibd.
160823 14:02:43 mysqlbackup: INFO: Copying /tmp/2016-08-23_12-35-36/datadir/mysql/help_category.ibd160823 14:02:43 mysqlbackup: INFO: Starting to copy Binlog files...
160823 14:02:43 mysqlbackup: INFO: Copying /tmp/2016-08-23_12-35-36/datadir/mysql-bin.000001.
160823 14:02:43 mysqlbackup: INFO: Copying /tmp/2016-08-23_12-35-36/datadir/mysql-bin.000002.160823 14:02:43 mysqlbackup: INFO: Copying the database directory 'mysql'
160823 14:02:43 mysqlbackup: INFO: Copying the database directory 'sys'
160823 14:02:43 mysqlbackup: INFO: Copying the database directory 'zhangshuo'
160823 14:02:43 mysqlbackup: INFO: Completing the copy of all non-innodb files.
160823 14:02:43 mysqlbackup: INFO: Copying the log file 'ib_logfile0'mysqlbackup: Progress in MB: 1200 1400
160823 14:02:47 mysqlbackup: INFO: Copying the log file 'ib_logfile1'mysqlbackup: Progress in MB: 1600 1800 2000
160823 14:02:54 mysqlbackup: INFO: Copying the log file 'ib_logfile2'160823 14:03:07 mysqlbackup: INFO: Finished copying backup files to '/data/mysql/mysql3306/data'
mysqlbackup completed OK!

4.求解,备份成千上万张表时为什么mysqlbackup会比xtrabackup锁表时间短?

转载于:https://www.cnblogs.com/xxmysql/p/5806324.html

meb4.0.3(mysql enterprise backup)原理分析相关推荐

  1. MySQL子查询原理分析

    01 前言 子查询,通俗解释就是查询语句中嵌套着另一个查询语句.相信日常工作中接触到 MySQL 的同学都了解或使用过子查询,但是具体它是怎样实现的呢? 查询效率如何? 这些恐怕好多人就不太清楚了,下 ...

  2. MySQL表联接原理分析

    01 前言 用过MySQL的同学肯定都知道表联接,关键字即为 join ,使用的场景就是"当只查询一个表的信息不能满足我们需求"的时候,就需要用到两个甚至多个表联接查询.但是当不了 ...

  3. mysql limit offset 原理分析与使用

    背景 一个行数为4亿条的表. 查询50000000~50000010行之间的数据.发现查询时间达到20s!!! 查询执行计划发现,需要进行全表扫描,没有索引. 但是,sbtest1这个表是有索引的 为 ...

  4. mysql enterprise backup 使用_mysql enterprise backup入门使用

    ************************************************************** --1.全备 ****************************** ...

  5. MySQL索引实现原理分析

    目前大部分数据库系统及文件系统都采用B-Tree(B树)或其变种B+Tree(B+树)作为索引结构.B+Tree是数据库系统实现索引的首选数据结构.在MySQL中,索引属于存储引擎级别的概念,不同存储 ...

  6. Mysql的常见面试题 + 索引原理分析

    今天给大家分享一篇干货,面试必备之Mysql索引底层原理分析 Mysql索引的本质 Mysql索引的底层原理 Mysql索引的实战经验 面试 问:数据库中最常见的慢查询优化方式是什么? 同学A:加索引 ...

  7. 干货!MySQL常见的面试题+索引原理分析!

    今天给大家分享一篇干货,面试必备之Mysql索引底层原理分析,文章末尾有福利哟!!!! Mysql索引的本质 Mysql索引的底层原理 Mysql索引的实战经验 面试 问:数据库中最常见的慢查询优化方 ...

  8. 深入理解MySQL索引和优化丨MySQL的核心原理

    索引介绍 文章相关视频讲解: C/C++ Linux服务器开发高级架构学习视频点击:C/C++Linux服务器开发/Linux后台架构师-学习视频 理解mysql-索引及其优化 MySQL的核心原理分 ...

  9. MySQL mysqlbackup backup databse on win2k12r2

    env: Windows Server 2012 R2         MySQL 5         Oracle MySQL Enterprise Backup 3.12.3 MySQL維護大多都 ...

最新文章

  1. Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  2. 数据表格搜索php代码_手把手教学:提取PDF各种表格文本数据(附代码)
  3. Linux之Nginx配置多个虚拟主机:静态转发
  4. 基于行为树的新手引导设计
  5. python中主函数循环,带有菜单函数的Python主函数循环不起作用?
  6. 看了就彻底明白人生!!!
  7. hello, noip2017!
  8. SpringCloud项目:实现推送消息到RabbitMQ消息中间件
  9. 计划任务文件 linux,Linux计划任务Crontab学习笔记(3):配置文件
  10. HyperLedger Fabric 1.0的Transaction处理流程
  11. 使用Freetype发现的问题记录
  12. 姓名常用汉字代码查询器
  13. USB_CAN-2A使用CANTest解析J1939
  14. O2O模式发展迅速的原因 o2o模式成功的原因是什么?
  15. iCollections for Mac(桌面文件整理软件)
  16. JS输入框检验字符数(中文为2个字符,英文为1个字符)
  17. 如何给金蝶kis记账王新增凭证字
  18. 解决 WARNING: Published ports are discarded when using host network mode 问题
  19. 0160 十分钟看懂时序数据库(I)-存储
  20. Windows Defender 防病毒发现威胁;关闭;

热门文章

  1. 场地预约小程序功能有哪些?要怎么做?
  2. 2013年中国android智能手机用户调查研究报告,ZDC:2013年7月中国智能手机市场分析报告...
  3. python创建excel文件报错_python-通过openpy操作excel
  4. ZJOI2009 狼和羊的故事
  5. 《纸牌屋》造神:大数据是非
  6. [机缘参悟-73]:深度思考:心智提升的七个阶段
  7. 大学计算机a实验实验报告数组,广州大学电路实验报告
  8. React学习(6)-React中组件的数据-state
  9. 用计算机写作集体备课,如何开展好中职计算机应用基础备课组活动
  10. 数说CS|北大信科保研生源大起底