MYSQL 快速备份大数据量
Part 1(mysqldump):
mysqldump是官方自带的逻辑备份工具,可以进行实例级、库级、表级的数据与结构或单表结构备份,还能添加where筛选条件等。
例:mysqldump -uusername -ppassword --databases your DB--tables your table --where='id>10' > /tmp/backup.sql
1、导出sql文件(远程导出)jie
mysqldump --column-statistics=0 -uusername -ppassword -hyour server ip --default-character-set=gbk your DB your table >F:\mysqldump\crawler.sql
2、导入到数据库
source F:\mysqldump\crawler.sql
注意:
mysqldump有个缺点是,单线程执行备份,速度较慢。在生产环境使用中,做一些小库的备份或者表的备份比较灵活,但是无法应对大数据量的备份。
因此生产环境里用的较多的是mydumper(备份)/myloader(恢复)。
Part 2(mysqldumper):
Mydumper主要特性:
是一个针对MySQL和Drizzle的高性能多线程备份和恢复工具,开发人员主要来自MySQL,Facebook,SkySQL公司。
mydumper(Facebook开源)最大的特点就是可以多线程执行备份和压缩,速度相对快很多,空间占用也较小(压缩率是10%-15%)。
本质上mydumper备份原理与mysqldump类似,也是把数据转换成SQL语句的形式输出到文件中。不过文件展示形式有区别:mysqldump整体只有一个文件;
mydumper则是每个表对应两个文件(一个是表结构文件,也就是create table语句,一个是表数据文件,也就是insert 语句)