Shell脚步之MySql分库分表备份
短信预约 -IT技能 免费直播动态提醒
前言
数据备份的重要性已经不用过多强调了。这篇文章我们就以MySQL数据进行演示如何通过Shell脚步进行MySQL数据库的分库分表备份。
要求
Linux命令要求比较熟悉,Shell脚步语法规则也要熟悉,MySQL的数据库备份命令要比较熟悉。下面也会提到,如果有不懂得希望可以自行查阅资料学习。
命令窗口查询MySQL数据库列表
上面我们就通过Linux命令窗口查询到了MySQL的数据库列表
去除MySQL自带数据库获取目标业务数据库列表,查看表列表
备注:通过过滤掉MySQL自带数据库,那么就剩下ckmike数据库,我们就对这个书库进行备份。
ckmike数据库中有两张表,我们对表列表同样可过滤掉我们不要的第一行,如下:
编写脚步进行分库分表备份
#!/bash/sh
USER=root
PASSWORD=jp349869
LOGIN="mysql -u$USER -p$PASSWORD"
DUMP="mysqldump -u$USER -p$PASSWORD"
DATABASE=$($LOGIN -e "show databases;"|egrep -v "*schema|mysql|sys"|sed '1d')
for database in $DATABASE
do
TABLE=$($LOGIN -e "use $database;show tables"|sed '1d')
for table in $TABLE
do
#如果目录不存在则进行创建
[ -d /server/back/$database ] || mkdir /server/back/$database -p
$DUMP $database $table |gzip >/server/backup/${database}/${table}_$(date +%F).sql.gz
done
done
保存之后进行shell脚步执行。
到这里Shell脚步MySQL数据库分库分表备份就完成了。为了方便也可以写入Linux定时任务。在这里不讲如何写入定时任务,自行查阅。
其他数据库同理,知识命令和借助的备份工具不同而已,可自行扩展。打完收工!!!!!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341