数据库复制软件

时间:2017-04-24 13:54:30

标签: sqlite database-replication

我已经看到了一些与复制数据库数据的软件相关的问题,但我没有看到一个可能适合我需求的问题。我需要将许多奴隶复制到一个主人。主服务器将来自从服务器的所有数据合并到其表中。下面的场景应该有助于解释我在寻找的内容:

每台机器使用SQLite具有相同的表/数据库布局。对于这些示例,我将使用带有Timestamp,MachineNumber,PointName,Value列的1个表:

机器1上的数据库表

00:00:00 1 Point1 1.0
00:00:00 1 Point2 2.1
00:00:01 1 Point1 1.5
00:00:01 1 Point2 2.1

机器2上的数据库表

00:00:00 2 Point1 2.0
00:00:00 2 Point2 3.1
00:00:01 2 Point1 2.1
00:00:01 2 Point2 3.0

MASTER上的数据库(需要从每个从站复制并由于连接丢失而增加增量)

00:00:00 1 Point1 1.0
00:00:00 1 Point2 2.1
00:00:00 2 Point1 2.0
00:00:00 2 Point2 3.1
00:00:01 1 Point1 1.5
00:00:01 1 Point2 2.1
00:00:01 2 Point1 2.1
00:00:01 2 Point2 3.0

1 个答案:

答案 0 :(得分:1)

尝试:

sqlite3 db-master
sqlite> attach 'db1' as db1;
sqlite> attach 'db2' as db2;
sqlite> insert or ignore into data select * from db1.data;
sqlite> insert or ignore into data select * from db2.data;

注意:如果从属表中的数据不断累积,您可能需要在数据上定义唯一ID,这样每次与主数据库同步时都不会重新添加相同的信息。