mysqldump备份方法以及如何提高备份及压缩时间

mysqldump备份方法以及如何提高备份及压缩时间

mysqldump是mysql数据库备份命令,可以备份整个数据库或者一张数据表,总之很强大,一般情况下我们的备份思路是:

  1. 从数据库抽取数据生成一个sql文件放到文件目录;
  2. 对这个数据文件进行tar压缩;
  3. 删除原始sql文件;

那这个过程对于大表来说是很慢的,因为有个生成文件和压缩过程,相当于有两个文件在占用磁盘空间,

那么如何才能节约磁盘空间的同时又提高备份效率呢,其实,很简单,思路也比较清晰,那就是在从数据库抽取数据的同时进行数据的压缩,直接生成tar.gz(压缩之后的文件后缀名),这样操作,既能节省空间又能节省时间,可谓一举两得,在此记录,以备后用.

今天试验了一下,压缩语句如下:

mysqldump -utbs_rpt -ptbs_rpt -h10.155.0.55 -P3306 tbs_rpt md_pdt_user_ext_dm_d  --no-create-info --where "substr(DEAL_date,1,6) >= 201610 and substr(DEAL_date,1,6)<= 201612" |gzip >md_pdt_user_ext_dm_d_201610_201612_hisdata.sql.tar.gz

想要还原数据的话只需要执行下面语句就可以,

gunzip < test.tar.gz |mysql -hlocalhost -uroot -pxxxxx

马洪飞

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: