1

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

我有几个问题

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

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

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

  4. 从数据库在本地主机上,主数据库在服务器机器上,还是有两台服务器机器,一台是主机,一台是从机?

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

4

1 回答 1

2

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

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

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

不,mysql 复制会为您执行此操作。

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

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

4)slave db在本地主机上,master在服务器机器上是否可以,或者有2台服务器机器,一台是master,一台是slave?

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

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

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

于 2012-04-23T09:45:10.077 回答