mysqldump是mysql数据库备份命令,可以备份整个数据库或者一张数据表,总之很强大,一般情况下我们的备份思路是:
- 从数据库抽取数据生成一个sql文件放到文件目录;
- 对这个数据文件进行tar压缩;
- 删除原始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
文章不错支持一下吧
@今日头条新闻 感谢支持!
支持楼主