mysqldump之跳过指定表


声明:本文转载自https://my.oschina.net/qixiaobo025/blog/1477149,转载目的在于传递更多信息,仅供学习交流之用。如有侵权行为,请联系我,我会及时删除。

背景

目前系统中对于业务数据做了备份以作为数据校验,比如期初数据期末数据进行对比监控,因此产生了大量的备份表。备份表单表数据随着业务的增长而持续增长。导致晚间备份数据超长。

原方法

./mysqldump -uroot -proot  --skip-lock-tables --databases f6dms_1116_prod_backup| gzip > /home/opt/database_`date '+%m-%d-%Y'`.sql.gz;

这样会导致备份时间超长,文件太大(随着时间增长 表变大,表变多)

目前使用jenkins远程ssh调用脚本远程执行mysqldump进行备份。

我的思考

  1. mysqldump支持备份指定库,那么我们可以备份其他到db中?
  2. 备份忽略指定前缀的表

解决方法

  1. 比较简单,略过
  2. mysqldump支持  --ignore-table但是不支持通配符,那么我们可以通过生成mysqldump的指令来完成。对于指定名称我们可以通过show tables来实现。因此如下 

    ./mysqldump -uroot -proot  --skip-lock-tables --databases f6dms_1116_prod_backup $(mysql -uroot -proot -Df6dms_1116_prod_backup -Bse "show tables like 'tm_monitor_avg_price_%'"|awk '{print "--ignore-table=f6dms_1116_prod_backup."$1}'|xargs)| gzip > /home/opt/database_`date '+%m-%d-%Y'`.sql.gz; 

    通过查询db的指定名称的表名完成忽略

本文发表于2017年07月22日 06:36
(c)注:本文转载自https://my.oschina.net/qixiaobo025/blog/1477149,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如有侵权行为,请联系我们,我们会及时删除.

阅读 2797 讨论 0 喜欢 0

抢先体验

扫码体验
趣味小程序
文字表情生成器

闪念胶囊

你要过得好哇,这样我才能恨你啊,你要是过得不好,我都不知道该恨你还是拥抱你啊。

直抵黄龙府,与诸君痛饮尔。

那时陪伴我的人啊,你们如今在何方。

不出意外的话,我们再也不会见了,祝你前程似锦。

这世界真好,吃野东西也要留出这条命来看看

快捷链接
网站地图
提交友链
Copyright © 2016 - 2021 Cion.
All Rights Reserved.
京ICP备2021004668号-1