zoukankan      html  css  js  c++  java
  • 6.Mydumper和Myloader备份恢复

    1.前言

      Mydumper是一个针对mysql和Drizzle的高性能多线程备份与恢复工具,其开发人员主要来自Mysql、Facebook、Skysql公司

    2.Mydumper特点

    • 采用轻量C语言编写,使用glibc库
    • 执行速度比mysqldump大约快10倍
    • 支持事务性表和非事务性表一致的快照
    • 支持快速的文件压缩
    • 支持导出binlog(在新版本中已经不能备份binlog)
    • 支持到备份文件切块
    • 多线程 备份(因为是多线程逻辑备份,备份后会生成多个备份文件)
    • 多线程恢复(适用于0.2.1以上版本)
    • 在备份时对Myisam表施加FTWRL(flush tables with read lock),会阻塞DML语句
    • 支持以守护进程的方式工作,支持定时快照
    • 基于GNU GPLv3协议开源

    在Mydumper安装包中包含两个可执行程序,即mydumper和myloader,前者用于将数据库中数据备份为文本文件,后者用于恢复mydumper备份的文本文件到数据库中

     3.Mysqdump安装

      安装依赖包

    yum install glib2-devel mysql-devel zlib-devel pcre-devel openssl-devel cmake

     4.下载二进制包:

    wget https://launchpadlibrarian.net/225370879/mydumper-0.9.1.tar.gz

     5.解压安装

    tar zxvf mydumper-0.9.1.tar.gz
    cd mydumper-0.9.1/
    cmake .
    make
    make install

     6.安装完成后生成两个二进制文件mydumper和myloader位于/usr/local/bin目录下

       查看是否正常:

    mydumper --help

    2.实战

      2.1导出/导入全库 

    ## 导出全库
    mydumper --host=ip --port=xxxx --user=xxxx --password=xxxx --events --routines --triggers --less-locking --chunk-filesize=1024 --complete-insert --outputdir=/data/dump

    ## 导入全库
     
    myloder --host=ip --port=xxxx --user=xxxx --password=xxxx –directory=/tmp --enable-binlog 

      2.2 导出/导入指定的库 

    ##导出指定的数据库
    mydumper --host=ip --port=xxxx --user=xxxx --password=xxxx --events --routines --triggers --less-locking --chunk-filesize=1024 --complete-insert --database 数据库名 --outputdir=/data/dump

    ##导入指定的数据库
    myloder --host=ip --port=xxxx --user=xxxx --password=xxxx --database 数据库名 –directory=/tmp --enable-binlog 

      2.3单表备份与恢复

    ## 导出指定数据库下的table1表下的数据
    mydumper --host=ip --port=xxxx --user=xxxx --password=xxxx --events --routines --triggers --less-locking --chunk-filesize=1024 --complete-insert --database 数据库名 -T table1 --outputdir=/data/dump

    ## 导入到指定的数据库下
    myloder --host=ip --port=xxxx --user=xxxx --password=xxxx --database 数据库名 -s 源库名 –directory=/tmp --enable-binlog --overwrite-tables

      2.4.快照备份与恢复

      mydumper工具使用-D ,--daemon选项启动后台进程,并结合--snapshot-interval=60选项执行快照间隔时间,以及--logfile=dump.log选项指定将信息输出到一个文件中,而不是打印到标准输出上。

    mydumper  --defaluts-file=xxx   -G -E -R -D -L /var/log/mydumer.log -I 60 --skip-tz-utc --complete-insert -u xxx -p xxx -h xxxx -C -o /data/backup/mydumper

      2.5 mydumper参数说明

    --events 备份事件
    --routines 备份存储过程和函数
    --triggers  备份触发器
    --less-locking 减少对InnoDB表的锁施加时间
    --chunk-filesize 将表按大小分块时,指定的块大小,单位是 MB
    --complete-insert 使用完整的insert语句(包含列名称)。
    --outputdir 导出的目录
    -D 守护进程模式
    -L 表示将输出信息打印到指定的日志文件中,如果没有指定日志we年则默认打印到标准输出上,通常在守护进程模式下使用
    -C 指定使用压缩协议连接Mysql,即压缩数据进行传输。
    -m 表示不备份表结构
    -d 表示不备份数据

      2.6myloader参数说明

    --enable-binlog 启用还原数据的二进制日志
    --overwrite-tables  如果要恢复的表存在,则先drop掉该表,使用该参数,需要备份时候要备份表结构

    3.补充:

      过滤特定库,如本来不备份mysql及test库

    mydumper -u leshami -p pwd -B sakila --regex '^(?!(mysql|test))' -o /tmp/bak

      参考文章https://blog.csdn.net/leshami/article/details/46815553

       该参考文章可以重点看一下:主要关于Mydumper的一些备份技巧

      

        

  • 相关阅读:
    零售定价(最终价格计算)(三)
    SAP数据表(一)商品表
    BizTalk 2006 R2 如何实现EDI报文的接收处理
    Simulate a Windows Service using ASP.NET to run scheduled jobs
    看曾士强评胡雪岩
    Smart Client Software Factory 初试
    Asp.net Dynamic Data之四定义字段的显示/编辑模板和自定义验证逻辑
    To set a 64bit mode IIS installation to 32bit mode
    集中日志查询平台方案(Draft)
    .net开发框架比较
  • 原文地址:https://www.cnblogs.com/zmc60/p/15145679.html
Copyright © 2011-2022 走看看