这是设置,我有多个在线商店,我想使用相同的产品数据库。目前它们都是独立的,因此更新任何东西都需要经过并复制产品,这是一个巨大的痛苦。我想做的是创建一个主产品数据库,每晚,每个站点将比较其数据库,并相应地进行更新。
这个想法是一个主要的产品数据库,每天会更新几次,然后在凌晨2点说,一个cron作业将运行拉动各个网站的更新。
关于数据库的更多细节,有一个表'产品'需要比较,但它还需要查看表'prodcuts_site_status'来确定每个给定站点的产品状态值,所以我不能简单地转储主表并将其重新放入站点数据库中。
创建一个php脚本逐行进行比较和更新很容易,但我希望在mysql中存在一个更优雅/更有效的解决方案。有什么建议吗?
谢谢!
答案 0 :(得分:0)
总结一下,你可以尝试3种不同的方法:
使用SELECT
... INTO OUTFILE
,然后使用MySQL Cross Server Select Query
LOAD DATA INFILE
使用此处所述的复制方法 Perl: How to copy/mirror remote MYSQL table(s) to another database? Possibly different structure too?
使用FEDERATED
存储引擎连接来自不同服务器的表http://dev.mysql.com/doc/refman/5.0/en/federated-storage-engine.html