Shell脚步之MySql分库分表备份

前言

数据备份的重要性已经不用过多强调了。这篇文章我们就以MySQL数据进行演示如何通过Shell脚步进行MysqL数据库的分库分表备份。

要求

Linux命令要求比较熟悉,Shell脚步语法规则也要熟悉,MysqL数据库备份命令要比较熟悉。下面也会提到,如果有不懂得希望可以自行查阅资料学习。

命令窗口查询MysqL数据库列表

Shell脚步之MySql分库分表备份


上面我们就通过Linux命令窗口查询到了MysqL数据库列表

去除MysqL自带数据库获取目标业务数据库列表,查看表列表

Shell脚步之MySql分库分表备份


备注:通过过滤掉MysqL自带数据库,那么就剩下ckmike数据库,我们就对这个书库进行备份。

Shell脚步之MySql分库分表备份


ckmike数据库中有两张表,我们对表列表同样可过滤掉我们不要的第一行,如下:

Shell脚步之MySql分库分表备份

编写脚步进行分库分表备份

#!/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分库分表备份


到这里Shell脚步MysqL数据库分库分表备份就完成了。为了方便也可以写入Linux定时任务。在这里不讲如何写入定时任务,自行查阅。

其他数据库同理,知识命令和借助的备份工具不同而已,可自行扩展。打完收工!!!!!

相关文章

MySQL 死锁 是指两个或多个事务互相等待对方持有的锁,从而导...
在MySQL中,InnoDB引擎通过Next-Key Locking技术来解决幻读问...
在数据库事务管理中,Undo Log 和 Redo Log 是两种关键日志,...
case when概述 sql语句中的case语句与高级语言中的switch语句...
其实很简单,只是为了忘记,做个记录,用的时候方便。 不管是...
1.进入服务,找到mysql服务,在属性里找到mysql的安装路径 2...