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=/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
推荐阅读:
相关推荐
emmm00 2020-11-17
王艺强 2020-11-17
aydh 2020-11-12
世樹 2020-11-11
zry 2020-11-11
URML 2020-11-11
spurity 2020-11-10
yifangs 2020-10-13
Andrea0 2020-09-18
Ida 2020-09-16
ltd00 2020-09-12
tufeiax 2020-09-03
xjd0 2020-09-10
greatboylc 2020-09-10
adsadadaddadasda 2020-09-08
疯狂老司机 2020-09-08
CoderToy 2020-11-16
ribavnu 2020-11-16
bianruifeng 2020-11-16