123456789101112131415161718192021222324252627282930313233343536373839404142 |
- # 使用方法
- # 参数一为要恢复的源数据库
- # 参数二为要恢复的数据库版本时间
- # 参数三为要恢复的目标数据库,可选
- # 例子:
- # bash ./mysql_backup_restore.sh schema_test 2022-07-29 schema_test2
- # 参数校验
- if [ ! -n "$2" ] ;then
- echo "未输入足够的参数"
- exit 0
- fi
- CURRENT_DIR=$(cd "$(dirname "$0")";pwd)
- # 读取配置
- source ${CURRENT_DIR}/config.conf
- # 读取参数
- db=$1
- time=$2
- if [ ! -n "$3" ] ;then
- dest_db=${db}
- else
- dest_db=$3
- ${mysql} -u${db_user} -h${db_host} -p${db_password} -Bse "create schema if not exists "${dest_db}";"
- fi
- # 组合文件名与文件路径
- backname=${db}.${time}
- dumpfile=${backup_dir}${backname}
- # 解压数据文件
- tar -zxvf ${dumpfile}.tar.gz
- # 删除数据文件第一行,通常是警告信息
- sed -i '1d' ${backname}.sql
- # 导入到指定数据库中
- ${mysql} -u${db_user} -h${db_host} -p${db_password} -D${dest_db} < ${backname}.sql
- # 删除临时文件
- rm -f ${backname}.sql
|