MySQL多线程逻辑备份 Mydumper简介 Mydumper是一个多线程的MySQL逻辑备份工具. 逻辑备份速度非常快(跟mysqldump相比) myisam
MySQL多线程逻辑备份
Mydumper是一个多线程的MySQL逻辑备份工具.
Mydumper通过使用多线程同时dump多个表或是表的一部分.它有很多选项参数mydumper –help.
以下是其中三个重要参数:
–database:指定要导出备份的数据库名–threads:指定使用线程的数目.通常可设置为CPU的核数目,当然有时也会设置更多.–rows:指定每个”块”(chunk)的行(记录)数目.具体值的设置取决于数据表的记录数目.
一个备份脚本例子dbdump.sh:
#!/bin/bashMYDUMPER=`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多线程逻辑恢复
上面在安装Mydumper的同时也安装了Myloader.
使用Myloader进行恢复的脚本例子dbload.sh:
#!/bin/bashMYLOADER=`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主主同步
生产环境MySQL主主同步主键冲突处理
MySQL主从失败 错误Got fatal error 1236
MySQL主从复制,单台服务器上实施
,