一:复制的概念。
可能很多人认为,复制很简单就是把之前的数据直接转移到新的数据库当中不就是复制吗。但是在MySQL数据库中:复制指的就是复制一个服务器上(称为主节点服务器或者简称主节点)的所有改变到另一个服务器(称为从节点服务器或简称从节点)。复制通常用来创建主节点的一个可靠的副本,另外复制也可能用于其他用途。
二:两种常见的使用复制的例子是:
<1>创建一个主节点的备份,以避免主节点崩溃时丢失数据。
<2>拥有一份主节点副本,从而在不干扰其他业务的情况下执行报表和分析工作。
对于一个小型企业,很多事情变得简单,但可能要做更多复制的工作,
- 支持多个工作场所可能需要在每个地点维护服务器并改变复制其他的工作场所,从而信息处处可用。这就可能有必要保护数据,同时也要满足一些合法的需求,从而保证用于审计目的的业务信息可用。
- 即使有一个服务器停机,也能保证业务的持续运行,如果原始服务器失效,其他服务器也可以处理所有的访问量。
- 即使有灾难发生,也能保证业务的持续运行。复制可以将数据变化发送给不同地理位置得其他数据处理中心。
- 错误保护将一个从节点到主节点,可能从节点是比主节点落后一个固定的时间周期,这样就会产生一个延迟的从节点发生错误,可以会找到出错语句并在从节点执行之前删除它。
目前很多应用程序使用复制的两个最重要的应用之一就是横向扩展。现今的应用程序通常是读密集型的,具有高读写比。为了减少主节点上的负载。你可以搭建一个从节点只用于响应读请求。通过一个负载均衡器,可以将读请求定向合适的从节点,而写请求则交给主节点处理。
横向扩展的场景下使用复制时,理解MySQL复制的异步性很重要,即事务首先先在主节点上提交,然后复制给从节点并在节点上应用。这意味着主节点和从节点可能并不一致,而且如果复制持续运行,从节点将会落后于主节点。
使用异步复制的好处在于它比同步复制快、更具有扩展性,但在那些实时数据很重要的情况下,必须采用同步的方式以保证信息总是最新的。
复制的另一个重要应用是通过添加冗余来保证高可用性。最常见的技术就是使用双主配置,即通过复制使得一对主节点总是可用,每个主节点都是对方的镜像。如果其中一个主节点失败,另一个会立即接手。
处了双主配置,还有其他获得高可用技术,如果使用共享或复制磁盘。尽管它们与MySQL不特别相关,但这些技术对于保证高可用性来说很重要的工具。
标签:一个,数据库,复制技术,复制,保证,MySQL,服务器,节点 From: https://blog.51cto.com/u_15912723/6408240