Welcome 微信登录

首页 / 数据库 / MySQL / Mydumper:MySQL多线程逻辑备份与恢复

MySQL多线程逻辑备份

  • Mydumper简介
    Mydumper是一个多线程的MySQL逻辑备份工具.
    • 逻辑备份速度非常快(跟mysqldump相比)
    • myisam和innodb表的一致性备份
    • 如果不是使用myisam表,几乎无”锁”(no locking)
    • 每个表都是导出到独立的文件
    • 快速压缩,通常mydumper压缩的文件比XtraBackup压缩的文件小3~5倍
  • Mydumper安装
    # yum install cmake glib2-devel zlib zlib-devel pcre-devel gcc-c++# wget -c https://launchpad.net/mydumper/0.5/0.5.2/+download/mydumper-0.5.2.tar.gz# tar zxvf mydumper-0.5.2.tar.gz# cd mydumper-0.5.2# cmake .# make && make install
  • Mydumper使用
    Mydumper通过使用多线程同时dump多个表或是表的一部分.它有很多选项参数mydumper --help.
    以下是其中三个重要参数:--database:指定要导出备份的数据库名--threads:指定使用线程的数目.通常可设置为CPU的核数目,当然有时也会设置更多.--rows:指定每个"块"(chunk)的行(记录)数目.具体值的设置取决于数据表的记录数目.一个备份脚本例子dbdump.sh:#!/bin/bash MYDUMPER=`which mydumper`DIR_BACKUP=/backupDB_HOST=192.168.1.190DB_PORT=3306DB_NAME=sakilaDB_USER=rootDB_PASS=123456FDAY=`date "+%F"`DB_DUMP=$DIR_BACKUP/$DB_NAME.$FDAY$MYDUMPER --database=$DB_NAME --host=$DB_HOST --port=$DB_PORT --user=$DB_USER --password=$DB_PASS --outputdir=$DB_DUMP --rows=500000 --compress --build-empty-files --threads=2 --compress-protocol --kill-long-queries注:由于Mydumper不处理MySQL的视图,触发器和存储过程,因此使用mydumper去导出schema并不可靠.
    实际生产环境中,建议mydumper仅用于导出数据(使用--no-schemas),而通过mysqldump来导出schema.

MySQL多线程逻辑恢复

  • Myloader
    上面在安装Mydumper的同时也安装了Myloader.使用Myloader进行恢复的脚本例子dbload.sh:#!/bin/bash MYLOADER=`which myloader`DB_HOST="192.168.1.190"DB_PORT=3306DB_NAME="sakila2"DB_USER="root"DB_PASS="123456"DB_DUMP="/data/backup/sakila.2013-04-29"$MYLOADER --database=$DB_NAME --host=$DB_HOST --port=$DB_PORT --user=$DB_USER --password=$DB_PASS --directory=$DB_DUMP --queries-per-transaction=50000 --threads=6 --compress-protocol --verbose=3
推荐阅读:Ubuntu下Nginx做负载实现高性能WEB服务器5---MySQL主主同步 http://www.linuxidc.com/Linux/2012-06/61687p5.htm生产环境MySQL主主同步主键冲突处理 http://www.linuxidc.com/Linux/2013-07/86890.htmMySQL主从失败 错误Got fatal error 1236 http://www.linuxidc.com/Linux/2012-02/54729.htmMySQL主从复制,单台服务器上实施 http://www.linuxidc.com/Linux/2013-03/81913.htm使用二进制热备份创建MySQL主从复制命令创建Oracle表空间和用户相关资讯      MYSQL备份  mydumper 
  • MySQL生产库之Xtrabackup物理备份  (今 08:17)
  • 线上MySQL备份脚本  (07月28日)
  • MySQL备份的三种方法  (07月05日)
  • MySQL备份之mydumper入门学习  (08月22日)
  • MySQL备份之分库分表备份脚本  (07月28日)
  • MySQL之备份和恢复(msyqldump、  (06月20日)
本文评论 查看全部评论 (0)
表情: 姓名: 字数