#!/bin/bash
# 设置源数据库和目标数据库的连接信息
# 数据库
SOURCE_HOST="172.16.16.16"
SOURCE_PORT="3306"
SOURCE_USER="xxxx"
SOURCE_PASS="xxxxxxxxxx"
# 需要迁移的数据库名称
SOURCE_DB="test"
# 迁移到数据库
TARGET_HOST="172.18.18.18"
TARGET_PORT="3306"
TARGET_USER="xxxx"
TARGET_PASS="xxxxxxxx"
# 迁移到数据库名称
TARGET_DB="test"
# 日志记录文件
D=$(date +"%Y%m%d")
T=$(date +"%H%M%S")
log_path="/datah/source_to_target/db_log"
log_flie_name="${log_path}/db_${D}_${T}_.log"
db_dir="/datah/source_to_target/${SOURCE_DB}"
#文件夹是否存
[ -d $log_path ] || mkdir -p $log_path
[ -d $db_dir ] || mkdir -p $db_dir
# 创建目标数据库:如果存在就不创建
/usr/bin/mysql -h $TARGET_HOST -P $TARGET_PORT -u $TARGET_USER -p$TARGET_PASS -e "CREATE DATABASE IF NOT EXISTS $TARGET_DB;"
echo '' >>$log_flie_name
echo "创建目标数据库完成 $(date +"%Y%m%d")_$(date +"%H%M%S")"
echo -e "------------创建目标数据库完成 $(date +"%Y%m%d")_$(date +"%H%M%S") -----------------\n" >>$log_flie_name
# 获取源数据库中的所有表名
TABLES=$(mysql -s -N -h $SOURCE_HOST -P $SOURCE_PORT -u $SOURCE_USER -p$SOURCE_PASS -e "USE $SOURCE_DB; SHOW TABLES;")
# 迭代所有表,逐个迁移
for TABLE in $TABLES
do
# 导出源表结构到SQL文件
/usr/bin/mysqldump -h $SOURCE_HOST -P $SOURCE_PORT -u $SOURCE_USER -p$SOURCE_PASS --single-transaction --no-data $SOURCE_DB $TABLE > ${db_dir}/$TABLE.sql
# 导出源表数据到SQL文件
/usr/bin/mysqldump -h $SOURCE_HOST -P $SOURCE_PORT -u $SOURCE_USER -p$SOURCE_PASS --single-transaction --no-create-info $SOURCE_DB $TABLE >> ${db_dir}/$TABLE.sql
# 将SQL文件导入到目标数据库
/usr/bin/mysql -h $TARGET_HOST -P $TARGET_PORT -u $TARGET_USER -p$TARGET_PASS $TARGET_DB < ${db_dir}/$TABLE.sql
# 可选:清理临时SQL文件
# rm ${db_dir}/$TABLE.sql
echo "表 $TABLE 迁移完成"
echo -e "------------表 $TABLE 迁移完成 $(date +"%Y%m%d")_$(date +"%H%M%S") -----------------\n" >>$log_flie_name
done
echo -e "------------数据库迁移完成 $(date +"%Y%m%d")_$(date +"%H%M%S") -----------------\n" >>$log_flie_name
echo "数据库迁移完成 $(date +"%Y%m%d")_$(date +"%H%M%S")"
没有合适的资源?快使用搜索试试~ 我知道了~
shell数据库全量迁移脚本-逐步迁移
共1个文件
sh:1个
0 下载量 34 浏览量
2023-09-20
11:17:36
上传
评论
收藏 1KB RAR 举报
温馨提示
shell数据库全量迁移脚本-逐步迁移
资源推荐
资源详情
资源评论
收起资源包目录
shell数据库全量迁移脚本.rar (1个子文件)
shell数据库全量迁移脚本
source_to_target_data.sh 2KB
共 1 条
- 1
资源评论
求知若渴,虚心若愚。
- 粉丝: 2681
- 资源: 57
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功