allocatr/sql/sync.sh
2025-08-15 15:00:23 +08:00

35 lines
1.0 KiB
Bash

#!/bin/bash
# 配置参数
HOST="rm-bp1769w7k3om452lvzo.mysql.rds.aliyuncs.com"
USER="wanyu"
SOURCE_DB="wanyu"
TARGET_DB="wanyu_test"
# 输入密码(不回显)
read -s -p "请输入数据库用户 $USER 的密码: " DBPASS
echo ""
# 检查目标库是否存在,不存在就创建
echo "🧩 检查目标数据库 $TARGET_DB 是否存在..."
mysql -h $HOST -u $USER -p"$DBPASS" -e "CREATE DATABASE IF NOT EXISTS \`$TARGET_DB\` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;" || {
echo "❌ 无法连接或创建目标数据库 $TARGET_DB"
exit 1
}
# 开始导出并导入
echo "📦 正在从 $SOURCE_DB 导出并导入到 $TARGET_DB,请稍候..."
mysqldump -h $HOST -u $USER -p"$DBPASS" \
--single-transaction \
--set-gtid-purged=OFF \
--routines --triggers --events \
"$SOURCE_DB" | mysql -h $HOST -u $USER -p"$DBPASS" "$TARGET_DB"
# 检查导入结果
if [ $? -eq 0 ]; then
echo "✅ 数据库复制完成:$SOURCE_DB$TARGET_DB"
else
echo "❌ 数据库复制失败,请检查日志或权限设置"
fi