【问题标题】:MySql Database UpdatesMySql 数据库更新
【发布时间】:2011-11-18 22:31:38
【问题描述】:

我有 2 个数据库

数据库 A -- 用于站点 A

数据库 B -- 用于站点 B

两个数据库具有相同的结构。 这些数据库中的一个表是用户。我想要做的是,如果用户注册,编辑他的信息,从站点 A 删除他的帐户,那么它对站点 B 的影响也会显示出来,反之亦然。

我是否需要使用一些 MYSQL 函数来组合这两个数据库,或者我是否需要每秒使用 cron 运行一个 php 文件并将一些代码放入检查它并执行此操作的文件中(我认为这不是正确的方法)。任何形式的帮助都将受到高度赞赏。

P.S 它不是一个自定义的 PHP 工作。我正在使用 CMS。我不想对这些数据库的所有其他表执行此操作,因为这两个站点在各自数据库的其他表中都包含完全不同的数据。他们只是分享他们的用户(也许你说它像一个站点网络)。我想更新用户表和用户详细信息表。 谢谢

【问题讨论】:

    标签: mysql mysql-management


    【解决方案1】:

    听起来你想要复制。如果您确实需要在 A 和 B 上写入数据,则需要主-主复制,这不是一条容易走的路。在你做之前仔细考虑;)

    您也可以查看Tungsten Replicator。它是开源的,可以做一些“几乎可以复制”的东西来满足你的需求。

    【讨论】:

      【解决方案2】:

      听起来您所说的是 siteA 和 siteB 共享同一个用户表。如果是这种情况,那么您应该只使用一个用户表。您可以通过包含数据库名称来使用 mysql 跨数据库查询:

      SELECT username from siteA.users where user_id = 3
      

      【讨论】:

      • 第二个站点数据库是远程的(两个数据库不在同一台服务器上。)
      • 如果你使用 auto_increment 作为用户表的键,那么你就有麻烦了。
      【解决方案3】:

      如果你有预算,你可以在集群模式下使用 mysql。 或将 A 中的所有更新插入到 B 中。 或者使用您提到的 Cronjob。 或者为db写一个api。并在其中插入/更新两者。

      【讨论】:

        猜你喜欢
        • 2013-09-20
        • 1970-01-01
        • 1970-01-01
        • 2017-02-05
        • 1970-01-01
        • 2013-03-05
        • 2013-08-04
        • 2018-03-24
        • 1970-01-01
        相关资源
        最近更新 更多