35 lines
1.0 KiB
Bash
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
|