同步 2 个不同数据库的表 - MySQL

Sync 2 tables of different databases - MySQL(同步 2 个不同数据库的表 - MySQL)
本文介绍了同步 2 个不同数据库的表 - MySQL的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在数据库表中有一个包含某些医疗信息的表.我爬行&每天解析它们并将其存储在我本地数据库的那个表中.

I've a table with certain medical information in a database table. I crawl & parse them daily and store it in that table of my local database.

假设最初有 1500 条记录,今天在我的本地机器上又添加了 100 条记录.

Suppose there were 1500 records initially, today 100 more records are added on my local machine.

现在,我有一个服务器,我需要在其中推送这些记录(因此数据库不同).我昨天复制了数据库.因此,服务器数据库表现在有 1500 个条目.如何将新的 100 个条目同步到实时应用程序?

Now, I've a server in which I need to push those records (so the database is different). I copied the database yesterday. So, the server database table has 1500 entries now. How can I sync the new 100 entries to the live application?

请注意,我无法从本地计算机中删除旧条目,否则它将被一次又一次地抓取.

Please note that I cannot delete old entries from my local machine else it will be crawled again and again.

推荐答案

您可能需要使用 'SELECT ... INTO OUTFILE' 和 'LOAD DATA INFILE INTO TABLE' 命令.

You may want to use 'SELECT ... INTO OUTFILE' and 'LOAD DATA INFILE INTO TABLE' commands.

详细说明...

给定表结构:

CREATE TABLE my_local_table (
    id int NOT NULL auto_increment PRIMARY KEY,
    data varchar(20),
    created_on datetime);

CREATE TABLE server_table (
    id int NOT NULL auto_increment PRIMARY KEY,
    data varchar(20),
    created_on datetime,
    local_id int);

还有一些虚假数据:

INSERT INTO my_local_table (data, created_on) VALUES ('test', now()), ('test2', now());

您将使用以下命令:

SELECT id, data, created_on 
    FROM my_local_table
    WHERE created_on >= '2011-08-18'
    INTO OUTFILE '/tmp/t.txt';

-- (and on the server)
LOAD DATA LOCAL INFILE '/tmp/t.txt'
    INTO TABLE server_table
    (local_id, data, created_on);

要自动执行这两个操作,您可以使用 bash 脚本/批处理文件调用 mysql,首先使用第一条语句连接到本地服务器,然后执行第二条语句连接到远程服务器.

To automate the two, you can use a bash script / batch file calling mysql connecting first to the local server using the first statement, then to the remote server executing the second.

mysql -e 'SELECT....';
mysql -h remote_server -e 'LOAD DATA...';

这篇关于同步 2 个不同数据库的表 - MySQL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Hibernate reactive No Vert.x context active in aws rds(AWS RDS中的休眠反应性非Vert.x上下文处于活动状态)
Bulk insert with mysql2 and NodeJs throws 500(使用mysql2和NodeJS的大容量插入抛出500)
Flask + PyMySQL giving error no attribute #39;settimeout#39;(FlASK+PyMySQL给出错误,没有属性#39;setTimeout#39;)
auto_increment column for a group of rows?(一组行的AUTO_INCREMENT列?)
Sort by ID DESC(按ID代码排序)
SQL/MySQL: split a quantity value into multiple rows by date(SQL/MySQL:按日期将数量值拆分为多行)