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 https://blog.csdn.net/zhaojike/article/details/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}"

完成了,简单吧。

原文地址:https://www.cnblogs.com/SyncNavigator-V8-4-1/p/11021019.html

时间: 2024-11-13 11:13:47

mysql数据跨库传输的相关文章

mysql跨库数据表的运算

跨库数据表的运算,一直都是一个说难不算太难,说简单却又不是很简单的.总之是一个麻烦的事.大量的.散布在不同数据库中的数据表们,明明感觉要把它们合并起来,再来个小小的计算,似乎也就那么回事……但真要做起来,需要这又忘了那的,却又不像仅仅就那么回事?        想要给这些小麻烦们,来一个快刀斩乱麻式的.嘁嚓咔嚓地一劳永逸的解决方案么?首先,你需要一把叫做集算器的宝刀(重点):然后,你可以再看看这篇算是买一赠一的秘传刀法(免费):最后,面向敌人们手起刀落……你就可以轻松愉快地去睡一个好觉了:跨库数

Mysql高手系列 - 第27篇:mysql如何确保数据不丢失的?我们借鉴这种设计思想实现热点账户高并发设计及跨库转账问题

Mysql系列的目标是:通过这个系列从入门到全面掌握一个高级开发所需要的全部技能. 欢迎大家加我微信itsoku一起交流java.算法.数据库相关技术. 这是Mysql系列第27篇. 本篇文章我们先来看一下mysql是如何确保数据不丢失的,通过本文我们可以了解mysql内部确保数据不丢失的原理,学习里面优秀的设计要点,然后我们再借鉴这些优秀的设计要点进行实践应用,加深理解. 预备知识 mysql内部是使用b+树的结构将数据存储在磁盘中,b+树中节点对应mysql中的页,mysql和磁盘交互的最小

Replicate_Do_DB 参数发现跨库操作时从库数据不更新

问题:使用复制是设置  Replicate_Do_DB 参数发现跨库操作时从库数据不更新 1 设置从库的 replicate_do_db = test 2 主库的sql语句是跨库的insert    在test7 上插入数据到test.a 的表上. use test7; 3 主库数据更新后查看从库信息发现数据并没有插入 4 原因是mysql 在执行sql前检查的当前默认库,所以跨库的sql语句不会被执行. 解决方案: 1 使用参数   replicate-wild-ignore-table =t

一次由MySQL跨库操作所引发的主从复制中断

今天,所有MySQL从服务器上的主从复制都被异常中断了,登陆到其中一台上执行show slave status\G,发现如下错误:--Last_Error: Error 'Operation DROP USER failed for 'guest'@'localhost'' on query. Default database: 'work'. Query: 'drop user 'guest'@'localhost''--也就是说,是 drop user 'guest'@'localhost'

跨库数据表的运算

文章出自http://c.raqsoft.com.cn/article/1536666621882?r=niu 1.    简单合并(FROM) 所谓跨库数据表,是指逻辑上同一张数据表被分别存储在不同数据库中.其原因有可能是因为数据量太大,放在一个数据库难以处理,也可能在业务上就需要将生产库和历史库分开.而不同的数据库,可能只是部署在不同的机器上的同种数据库,也可能是连类型都不同的数据库系统. 在面对跨库数据表,特别是数据库类型都不相同的情况时,数据库自带的工具往往就力所不及了,一般都需要寻找能

MySQL数据库跨服务器数据同步

1.背景介绍最近公司项目要求与开源项目Zentao做数据对接,因为改动开源项目风险较大,采用将Zentao数据库的相关表与本地数据库同步的方案.由我测试方案的可行性.mysql版本:5.7.20.本地数据库A(作为Zentao数据库),本地数据库B,本地程序C:本地为Windows环境. 2.方案探索方案1项目经理的意思是在A中写触发器,表中数据变化时将ID发给C,由C在A中查询变化的数据,写入B.过程中需要安装mysql-udf-http插件(参考:https://www.2cto.com/d

Oracle 跨库 查询 复制表数据

在目前绝大部分数据库有分布式查询的需要.下面简单的介绍如何在oracle中配置实现跨库访问. 比如现在有2个数据库服务器,安装了2个数据库.数据库server A和B.现在来实现在A库中访问B的数据库. 第一步.配置A服务器端的tnsnames.ora文件(TNSNAMES.ORA Network Configuration File),该文件存放的位置为: $ORACLE_HOME/network/admin/tnsnames.ora 需要在该文件中增加对B库的配置项,格式如下 ZBCDB3

SQL Server 跨库同步数据

最近有个需求是要跨库进行数据同步,两个数据库分布在两台物理计算机上,自动定期同步可以通过SQL Server代理作业来实现,但是前提是需要编写一个存储过程来实现同步逻辑处理.这里的存储过程用的不是opendatasource,而是用的链接服务器来实现的.存储过程创建在IP1:192.168.0.3服务器上,需要将视图v_custom的客户信息同步到IP2:192.168.0.10服务器上的t_custom表中.逻辑是如果不存在则插入,存在则更新字段. 1 create PROCEDURE [db

Oracle 跨库 查询 复制表数据 分布式查询

方法一: 在眼下绝大部分数据库有分布式查询的须要.以下简单的介绍怎样在oracle中配置实现跨库訪问. 比方如今有2个数据库服务器,安装了2个数据库.数据库server A和B.如今来实如今A库中訪问B的数据库. 第一步.配置Aserver端的tnsnames.ora文件(TNSNAMES.ORA Network Configuration File),该文件存放的位置为: $ORACLE_HOME/network/admin/tnsnames.ora 加入例如以下行,当中DBLINK为连接名(