首页 > 代码库 > 16、MySQL数据库分库分表备份脚本

16、MySQL数据库分库分表备份脚本

MySQL数据库分库分表备份脚本

===================学员分享分库分表==========================

脚本单双引号的区别:

单引号是强引用,强制输出是所见即所得。

双引号是解析变量 和 多个字符串、数字等连接一个字符串


条件1  ||    条件2                      或   假真   真假 

条件1 && 条件2                      并   真真    假假

!条件1  && 条件2                  并   真假    假真


[root@db02 backup]# cat /server/scripts/mysqldump1.sh

#!/bin/sh

USER=root

PASSWD=oldboy

SOCKET=/data/3306/mysql.sock

LOGIN="mysql -u$USER -p$PASSWD -S $SOCKET"

DATABASE=$($LOGIN -e "show databases;"|egrep -v "*chema|mysql"|sed ‘1d‘)

DUMP="mysqldump -u$USER -p$PASSWD -S $SOCKET"

for database in $DATABASE

do

  TABLE=$($LOGIN -e "use $database;show tables;"|sed ‘1d‘)

  for table in $TABLE

    do

    [ -d /server/backup/$database ] || mkdir -p /server/backup/$database

#   [ ! -d /server/backup/$database ] && mkdir -p /server/backup/$database

    $DUMP $database $table |gzip >/server/backup/$database/${database}_${table}_$(date +%F).sql.gz

    done

done

技术分享

=============================================================

16、MySQL数据库分库分表备份脚本