当本地数据库记录发生更改时,如何更新远程数据库?

时间:2016-12-27 08:54:37

标签: java mysql

远程服务器的数据库结构与localhost的数据库结构不同,因此我不能只是同步它们和/或建立主从关系(复制)。

假设远程数据库(托管在某些webhost上)有一个名为Employee_123的表,其结构如下:

BroadcastSender.class

和本地数据库(通过xampp托管在我的计算机上)有一个名为SalaryUpdate的表,其结构如下:

id, firstName, lastName, email, salary

两个数据库只有相同的记录,只有本地数据库没有firstName和lastName,所以它有关于记录的信息较少。例如,记录将是:

  1. Ron Michigan ron@gmail.com 1200
  2. Rose Paris rose@gmail.com 5000
  3. Marilyn Monroe marilyn@gmail.com 43000
  4. 现在我想做的是检测本地数据库上何时更改(更改)记录并在远程服务器上进行此修改。对于鸡蛋:

    在本地数据库中,我们将Rose Paris的工资更改为7000,将检测到此更改,然后从远程服务器获得的Rose Paris工资也将更改为7000。

    我考虑过使用触发器,但显然你不能在服务器外使用它们。

    我听说有可能在远程数据库的本地数据库上创建一个联邦表,然后使用触发器完成所需的所有工作,就像所有表都在同一台服务器上一样,但是在xampp中没有联合引擎(我尝试通过在my.ini中注释skip-federated并将联合添加到mysqld部分来激活它,但是然后xampp不会让我打开mysql因为它不存在)

    所以,我最后的想法是创建一个连接到两个数据库的java应用程序,检测本地数据库中的更改,并在远程数据库中进行更改。

    这可能吗?我如何在java中检测mysql数据库的记录变化?  此外,如果有另一种方法,请解释。

0 个答案:

没有答案