|
|
#!/usr/bin/env bash
|
|
|
# 将本地/源库 bd_fangke_ali251 的结构与数据导入目标库 yxbd_fangke_ali2。
|
|
|
# 用法(在能访问目标 MySQL 的机器上执行):
|
|
|
# export MYSQL_TARGET_HOST=127.0.0.1 # 或 RDS 内网地址
|
|
|
# export MYSQL_TARGET_PORT=3306
|
|
|
# export MYSQL_TARGET_USER=yxbd_fangke_ali2
|
|
|
# export MYSQL_TARGET_PASSWORD='jsy6WQHMR67kY7dN'
|
|
|
# export MYSQL_TARGET_DB=yxbd_fangke_ali2
|
|
|
# # 源库(默认本机 root,与开发 .env 一致)
|
|
|
# export MYSQL_SOURCE_HOST=127.0.0.1
|
|
|
# export MYSQL_SOURCE_USER=root
|
|
|
# export MYSQL_SOURCE_PASSWORD=root123456
|
|
|
# export MYSQL_SOURCE_DB=bd_fangke_ali251
|
|
|
# bash scripts/migrate-db-to-yxbd-fangke-ali2.sh
|
|
|
set -euo pipefail
|
|
|
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
|
|
cd "$ROOT"
|
|
|
|
|
|
MYSQL_SOURCE_HOST="${MYSQL_SOURCE_HOST:-127.0.0.1}"
|
|
|
MYSQL_SOURCE_PORT="${MYSQL_SOURCE_PORT:-3306}"
|
|
|
MYSQL_TARGET_PORT="${MYSQL_TARGET_PORT:-3306}"
|
|
|
MYSQL_SOURCE_USER="${MYSQL_SOURCE_USER:-root}"
|
|
|
MYSQL_SOURCE_PASSWORD="${MYSQL_SOURCE_PASSWORD:-root123456}"
|
|
|
MYSQL_SOURCE_DB="${MYSQL_SOURCE_DB:-bd_fangke_ali251}"
|
|
|
|
|
|
MYSQL_TARGET_HOST="${MYSQL_TARGET_HOST:-127.0.0.1}"
|
|
|
MYSQL_TARGET_USER="${MYSQL_TARGET_USER:-yxbd_fangke_ali2}"
|
|
|
MYSQL_TARGET_PASSWORD="${MYSQL_TARGET_PASSWORD:-jsy6WQHMR67kY7dN}"
|
|
|
MYSQL_TARGET_DB="${MYSQL_TARGET_DB:-yxbd_fangke_ali2}"
|
|
|
|
|
|
echo "Dumping ${MYSQL_SOURCE_DB} from ${MYSQL_SOURCE_HOST} ..."
|
|
|
mysqldump -h"$MYSQL_SOURCE_HOST" -P"$MYSQL_SOURCE_PORT" -u"$MYSQL_SOURCE_USER" -p"$MYSQL_SOURCE_PASSWORD" \
|
|
|
--single-transaction --routines --triggers --default-character-set=utf8mb4 \
|
|
|
"$MYSQL_SOURCE_DB" | \
|
|
|
mysql -h"$MYSQL_TARGET_HOST" -P"$MYSQL_TARGET_PORT" -u"$MYSQL_TARGET_USER" -p"$MYSQL_TARGET_PASSWORD" "$MYSQL_TARGET_DB"
|
|
|
|
|
|
echo "Import finished into ${MYSQL_TARGET_DB}@${MYSQL_TARGET_HOST}."
|