以下是情景。两个位于不同位置的web服务器,各自拥有两个具有相同表结构的mysql数据库。表内数据实时也被期望保持一致。
以下是问题。如果在任一位置的用户同时向相同的表中添加新记录(如下面的前两个表所示),其中每个表的第三条记录均被不同的人同时输入。那么表格中的数据将不再是相同的。如何最好地维护数据始终实时保持一致,就像下面的第三个表格中所示,无论更新在哪里进行?这样,以下图为例,我们不会得到每个表中都有3行的结果,而是双向复制这些新记录,并将它们插入到两个表中,以再次创建具有4列的2个相同的表格。
Server A in Location A
==============
Table Names
| ID| NAME |
|-----------|
| 1 | Tom |
| 2 | Scott |
|-----------|
| 3 | John |
|-----------|
Server B in Location B
==============
Table Names
| ID| NAME |
|-----------|
| 1 | Tom |
| 2 | Scott |
|-----------|
| 3 | Peter |
|-----------|
Expected Scenario
===========
Table Names
| ID| NAME |
|-----------|
| 1 | Tom |
| 2 | Scott |
| 3 | Peter |
| 4 | John |
|-----------|
server-id
具有不同的值,并且replicate-same-server-id
设置为默认值0。这可能已经存在,但如果没有,它将循环并遇到错误。 - benlumley