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

bd96500e110b49cbb3cd949968f18be7.png

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.

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

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.

解决方案

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

Edit: Elaboration...

Given the table structures:

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);

And some bogus data:

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

You would use the following commands:

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);

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...';

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值