linux 上做mysql备份数据的还原

原创
2017/12/22 10:35
阅读数 79


#数据库还原
echo $1 
echo $2 
echo $3

#!/bin/bash
# MYSQLDBUSERNAME是MySQL数据库的用户名,可自定义
MYSQLDBUSERNAME=$1
# MYSQLDBPASSWORD是MySQL数据库的密码,可自定义
MYSQLDBPASSWORD=$2
# MYSQBASEDIR是MySQL数据库的安装目录,--prefix=$MYSQBASEDIR,可自定义
MYSQBASEDIR=/usr/local/mysql
# MYSQL是mysql命令的绝对路径,可自定义
MYSQL=$MYSQBASEDIR/bin/mysql
# MYSQLDUMP是mysqldump命令的绝对路径,可自定义
MYSQLDUMP=$MYSQBASEDIR/bin/mysqldump


# BACKDIR是数据库备份的存放地址,可以自定义修改成远程地址
BACKDIR=/home/backup/mysql
# 恢复数据选择的目录
 
TODAY=$3

echo $TODAY
RECOVERYDIR=$BACKDIR/$TODAY


# 获取MySQL中有备份目录下的备份文件
DBLIST_TMP=`ls -p $RECOVERYDIR`

#获取目录下的所有文件名称,保存到一个变量中去
DBLIST=($(echo $DBLIST_TMP))

#echo "集合内中元素为: ${DBLIST[@]}"
# 从数据库列表中循环取出数据库名称,执行备份操作
for recoveryName in ${DBLIST[@]}

    do 
    
    echo $RECOVERYDIR/$recoveryName
    
 gunzip < $RECOVERYDIR/$recoveryName | mysql --user=${MYSQLDBUSERNAME}

--password=${MYSQLDBPASSWORD} 

    
    # 检查执行结果,如果错误代码为0则输出成功,否则输出失败
    [ $? -eq 0 ] && echo "${recoveryName} has been recoveried successful"

                              || echo "${recoveryName} has been recoveried failed"
    # 等待3s,可自定义
    /bin/sleep 3
done

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部