【问题标题】:Database mirroring with Mysql for Java Applications使用 Mysql for Java Applications 进行数据库镜像
【发布时间】:2012-04-23 05:49:57
【问题描述】:

谁能解释一下数据库镜像,尤其是mysql。

我有几个问题

  1. 我是否必须在 Java 应用程序上创建与这些数据库(主数据库和从数据库)的连接?是否有一个连接字符串或者它只是一个可编程的部分?

  2. 我是否还必须复制我的所有 sql 事务以使所有数据库移动到主服务器和从服务器时生效?

  3. 如果主 db 已关闭,并且唯一的连接是从站,我如何修补主 db 以更新在主数据库关闭期间更改的记录?

  4. slave db在本地主机上,master在server机器上,或者有2台server机器,一个是master,一个是slave?

  5. 我将如何使用我的 java 应用程序连接到这两个数据库(从属和主),如果主自动关闭,将使用从连接。

【问题讨论】:

    标签: java mysql jdbc mirroring


    【解决方案1】:

    1) 我是否必须在 Java 应用程序上创建与这些数据库(主数据库和从数据库)的连接?是否有一个连接字符串或者它只是一个可编程的部分?

    是的。通常,只有当您需要写入数据库时​​,您才会创建与主服务器的连接。对于读取作业,您将使用与一个或多个从属设备的连接,这样主控设备就不必处理该负载。这是以编程方式完成的,没有用于此的连接字符串。 您还可以查看this link,它使用 MySQL 代理为您的应用程序透明地拆分读取和写入。需要注意的是,这只是概念验证

    2) 我是否还必须复制我的所有 sql 事务以使所有数据库移动生效到主从服务器?

    不,mysql 复制会为你做这件事。

    3) 如果主数据库已关闭,并且唯一的连接是从属数据库,我如何修补主数据库以更新在主数据库关闭期间更改的记录?

    简短的回答是你不能。如果您需要高可用性读取,您应该查看 MySQL Cluster。多主配置也可以工作。

    4)slave db在本地主机上,master在server机器上,或者有2台server机器,一个是master,一个是slave?

    主从机器可以而且应该驻留在不同的服务器上。如果这就是您所说的“本地主机”的意思,那么您不太可能希望将奴隶放置在最终用户机器上。

    5) 我将如何使用我的 java 应用程序连接到这两个数据库(从属和主),如果主自动关闭,从属连接将使用哪种类型的连接。

    如果您的所有读取都来自从属设备(或多个从属设备),则失去主设备不会中断您的读取,只会中断您的写入。如果您有一个从属设备并且它出现故障,您可以选择回退到使用主设备连接进行读取。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-09
      • 1970-01-01
      • 2020-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多