当前位置:Gxlcms > mysql > Mydumper:MySQL多线程逻辑备份与恢复

Mydumper:MySQL多线程逻辑备份与恢复

时间:2021-07-01 10:21:17 帮助过:42人阅读

MySQL多线程逻辑备份 Mydumper简介 Mydumper是一个多线程的MySQL逻辑备份工具. 逻辑备份速度非常快(跟mysqldump相比) myisam

MySQL多线程逻辑备份

  • Mydumper简介

    Mydumper是一个多线程的MySQL逻辑备份工具.

  • 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=/backup DB_HOST=192.168.1.190 DB_PORT=3306 DB_NAME=sakila DB_USER=root DB_PASS=123456 FDAY=`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=3306 DB_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主主同步

    生产环境MySQL主主同步主键冲突处理

    MySQL主从失败 错误Got fatal error 1236

    MySQL主从复制,单台服务器上实施

    linux

    人气教程排行