mysql数据跨库传输

代码如下:仅供参考


#!/bin/bash

# run on every hour between 00:00 and 23:00.

set -o errexit


# 这个文件是我设置的数据源,包含了我使用变量引用的数据源,省略prod_dbs.sh文件

source /opt/soft/ods/script/odl/prod_dbs.sh
#source ./prod_dbs.sh

MYSQL=`which mysql`

DATA_DATE=`date +%Y%m%d -d "1 days ago"`



##########################################################当天新增
T_RPT_MERCHANT_AUTO_AUDIT_PART1="
SELECT stat_date, data_flag, sales_region, region_id, apply_cnt, pass_cnt, returned_cnt, rejected_cnt, pass_rate, rejected_rate
FROM odl_rpt.t_rpt_merchant_auto_audit_part1 a WHERE stat_date=${DATA_DATE};
"


##########################################################源库(A环境)表生成文件
echo "run sql on odlrpt_host"
echo "start running at `date '+%Y-%m-%d %T'`"
echo "${T_RPT_MERCHANT_AUTO_AUDIT_PART1}"
$MYSQL -h${odlrpt_host} --default-character-set=utf8 -P${odlrpt_port} -u${odlrpt_user} -p${odlrpt_passwd} --database=${odlrpt_db} --skip-column-names -e "${T_RPT_MERCHANT_AUTO_AUDIT_PART1}" > "${DATA_DIR}/T_RPT_MERCHANT_AUTO_AUDIT_PART1.txt"


##########################################################推送数据到B环境库目标表
SQL_TMP_TO_TASK="
DELETE FROM ODL_RPT.T_RPT_MERCHANT_AUTO_AUDIT_PART1 WHERE  stat_date=${DATA_DATE};

LOAD DATA LOCAL INFILE '/opt/soft/ods/srcdata/T_RPT_MERCHANT_AUTO_AUDIT_PART1.txt' INTO TABLE ODL_RPT.T_RPT_MERCHANT_AUTO_AUDIT_PART1;
"
echo "run sql on odlrpt_host150"
echo "start running at `date '+%Y-%m-%d %T'`"
echo "${SQL_TMP_TO_TASK}"
$MYSQL -h${odlrpt_host150} --default-character-set=utf8 -P${odlrpt_port150} -u${odlrpt_user150} -p${odlrpt_passwd150} --database=${odlrpt_db150} --skip-column-names -e "${SQL_TMP_TO_TASK}"


完成了,简单吧。





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值