# 使用方法 # 参数一为要恢复的源数据库 # 参数二为要恢复的数据库版本时间 # 参数三为要恢复的目标数据库,可选 # 例子: # 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