1.shell 脚本 备份 MySQL 所有数据库

查出所有mysql库,遍历mysql库,调用mysqldump备份所有数据库(跳过不需备份的数据库),计划一天调用一次

#!/bin/bash


#定义日期,方便存储的时候更加方便寻找到每天备份的数据库
DATE=$(date +%Y-%m-%d)


#定义存放路径,自己定义即可
DES=/data/bak_store/dumps/${DATE}


#mysql_ip
mysql_host=host


#定义mysql用户名称
mysql_user=test


#mysql密码,根据需要修改密码
mysql_pwd=pwd


#判断存放备份数据库的路径是否存在,若不存在则自动创建
if [ ! -d "$DES" ] ; then
    mkdir -p "${DES}"
fi


#获取数据库名称列表


#DB=$(mysql -u $mysql_user -p$mysql_pwd -e 'show databases')
DB=`mysql -h ${
     
     mysql_host} -u${
     
     mysql_user} -p${
     
     mysql_pwd} -e 'show databases'`

#遍历mysql库
for database in $DB
do

    #information_schema,Database库不备份,其他库均备份
    if [ ! $database == "information_schema" ] && [ ! $database == "Database" ];then

        #完全备份的方式进行备份
        echo "start dumping ${database}"
        mysqldump --opt -h$mysql_host -u$mysql_user  -p$mysql_pwd $database | bzip2 >  "$DES/${database}_${DATE}_mysql_bak.bz2"
        echo "dump ${database} end"

    fi

done

猜你喜欢

转载自blog.csdn.net/qq_39945938/article/details/107152984