从不同服务器上的mysql查询数据的时候,是用mysql的federated插件好,还是通过项目配置多数据源好

不同服务器的项目怎样公用一张表?

两个服务器上的项目有相同的数据表 user(用户表),想实现共享(只保留一个服务器上的user表,另一个服务器上的user表删除)

目前我只想到两种方案

1、项目中配置多数据源,但是这种配置在表关联查询的时候需要拆分去查询,不能一条sql语句直接查询,而且还要将查询的数据去循环匹配。

2、通过mysql的federated插件,这个确实比较方便,但是前提是必须要有两个user表存在,这个是主从数据库同步,并不是共享一张表,如果其中一张表的表结构改变了另一个表的表结构并不会改变。

不知道有没有其他的方法?

阅读 2.4k
4 个回答

项目上配置的数据库实例指向一个不行吗?既然业务上需要用同一张表,那么这个库就配置成公用的一个数据库实例啊。

你这应该实现的是主主配置

应该由一个服务去维护用户表。 并且对外封装成api. 其他项目通过api操作 用户信息。 这便是服务化

新手上路,请多包涵
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题