我正在为使用PHP和MySQL的零售行业构建基于Web的ERP应用程序。我将有不同的本地数据库和一个在服务器上(相同的结构)。我打算做的是在不同的商店中的本地主机上运行此应用程序,并在一天结束时从不同商店的不同本地主机更新服务器上的数据库。从多个本地数据库更新服务器上的数据库
请记住,我想根据在不同数据库中运行的序列查询来更新服务器上的数据库。
任何人都可以帮助我吗?
谢谢。
我正在为使用PHP和MySQL的零售行业构建基于Web的ERP应用程序。我将有不同的本地数据库和一个在服务器上(相同的结构)。我打算做的是在不同的商店中的本地主机上运行此应用程序,并在一天结束时从不同商店的不同本地主机更新服务器上的数据库。从多个本地数据库更新服务器上的数据库
请记住,我想根据在不同数据库中运行的序列查询来更新服务器上的数据库。
任何人都可以帮助我吗?
谢谢。
您可能必须在每日文件中记录每个插入/更新/删除sql请求,并在本地数据库上记录请求的时间戳。
例子:
2012-03-13 09:15:00 INSERT INTO...
2012-03-13 09:15:02 UPDATE MYTABLE SET...
2012-03-13 09:15:02 DELETE FROM...
...
然后每天发送给你的日志文件主服务器上,合并所有文件,对它们进行排序,以保持执行顺序和读取新的文件来执行对主数据库请求。
然而,这是一个好奇的方式来做ERP应用程序的事情。产品库存信息无法合并,这是一种常见信息,请注意这类数据。
您不能在此进程中使用自动增量,这将导致某些请求上出现重复键或更新坏记录上的请求。
感谢befox。我记住的事情是,如果我提供了一个中央数据库,那么商店的所有者将不必单独登录到不同的本地主机,而是可以从中央数据库访问数据,从而为他提供来自不同的商店。但是,您所指出的问题也是值得关注的,例如具有重复密钥和产品库存的问题。将分区中央数据库解决问题吗? – Sid 2012-03-13 08:42:29
如果您可以为每个商店拥有不同的数据库,则可以使用MySQL复制系统...它将保持每个中央存储数据库处于最新状态。请参阅http://dev.mysql.com/doc/refman/5.1/en/replication-solutions.html – befox 2012-03-13 09:36:28
我已经研究过该选项以及befox,但事情是MySQL不会支持多主复制。如果我有多个本地数据库,这意味着我有多个主服务器,我想从服务器中的从服务器数据库上复制数据。我认为这是不可能的。 – Sid 2012-03-13 09:52:17
也许从本地主机网站链接到您的主数据库开始?没有必要在一天结束时更新,对数据库所做的每一个改变都可以简单地在没有“中间人”的数据库中进行,可以这么说。如果您需要分离本地数据库,请同时运行这两个查询?
注意:我不熟悉ERP应用程序的工作方式,所以请原谅我,如果我在这里的基础。
您可能需要考虑将远程数据库设置为从站。 – 2012-03-13 07:50:43
相关进程称为ETL(来自数据仓库)http://en.wikipedia.org/wiki/Extract,_transform,_load – Basti 2012-03-13 07:52:56