美文网首页
mysql备份脚本

mysql备份脚本

作者: 阿当运维 | 来源:发表于2020-10-30 14:44 被阅读0次

    基于mysqldump,最好备份的账号用专门备份的账号(只有查询权限的)

    思路

    主要利用mysqldump -u -p 库名 > 库名.sql 这条命令开始延伸
    1.先定义好时间变量,备份的sql名都要最好带上完整时间
    2.mysql免交互-e执行查询数据库命令,打印所有数据库名,作为遍历池(-s 是去掉结果中的符号图,我们不需要备份系统数据库,所以搭配grep -v 来排除系统数据库)
    3.备份命令后判断执行状态。

    步骤:

    查询数据库求出数据库名--》遍历,对每一个数据库分别备份---》确定执行状态

    分库备份

    #!/bin/bash
    #mysql db backup script
    #2020-10-29
    
    DATE=$(date +%Y%m%d-%H:%M)
    USER=root
    PASSWD=123456
    DB_LIST=$(mysql -u$USER -p$PASSWD -s -e "show databases;"|grep -Ev "information_schema|mysql|performance_schema|new_test|sys|sys_info")
    BACKUP_DIR=/data/mysql_back
    for db in $DB_LIST
    do
        if [ ! -d $BACKUP_DIR ];then
            mkdir -p $BACKUP_DIR
            echo "备份目录$BACKUP_DIR创建完成"
        fi
        dbname=$BACKUP_DIR/${db}_${DATE}.sql
        mysqldump -u$USER -p$PASSWD $db>$dbname 2>/dev/null
        
        if [ $? != 0 ];then
            echo "$dbname备份失败"
            
        fi
        
    done
    

    执行结果:


    image.png

    相关文章

      网友评论

          本文标题:mysql备份脚本

          本文链接:https://www.haomeiwen.com/subject/nzllvktx.html