#!/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