zoukankan      html  css  js  c++  java
  • 17.3.4 Replicating Different Databases to Different Slaves 复制不同的数据库到不同的Slaves

    17.3.4 Replicating Different Databases to Different Slaves  复制不同的数据库到不同的Slaves
    
    
    
    有可能的一种情况, 你只有一个master但是需要复制不同的数据库到不同的slaves,
    
    
    比如, 你需要分发不同的sales 数据到不同的部门来帮助分散数据分析的压力。
    
    Figure 17.2 Using Replication to Replicate Databases to Separate Replication Slaves
    
    使用复制来复制数据库到单独的复制slaves
    
    
    你可以完成这种分离通过配置master和slave,限制binary log 语句在每个slave处理通过使用
    
    --replicate-wild-do-table 配置选项在每个slave上:
    
    
    重要:
    
    
    你不能使用 --replicate-do-db 用于这个目的当使用基于语句的复制,
    
    
    因为基于语句的复制导致 这个选项的影响 根据当前选择的数据库而定。
    
    
    这个也同样应用于mixed-format replication , 因为这个会让一些更新被复制 在基于语句格式的情况下。
    
    
    然而,如果你只使用基于行的复制, --replicate-do-db是安全的,因为在这种情况下,
    
    当前选择的数据库没有影响在这个选项的操作。
    
    
    例如, 为了支持如图17.2所示的分离,使用复制到复制数据来分散复制slaves:
    
    Replication slave 1 should use --replicate-wild-do-table=databaseA.%.
    
    Replication slave 2 should use --replicate-wild-do-table=databaseB.%.
    
    Replication slave 3 should use --replicate-wild-do-table=databaseC.%.
    
    
    每个slave 在这种配置下 接收整个binary log 从master, 但是只行包括在--replicate-wild-do-table
    
    选项的binary log的events:
    
    
    
    如果你有数据必须被同步到slave 在复制开始前,你有很多选择:
    
    
    同步所有的数据到每个slave,删除数据库,表和其他你不需要保留的。
    
    
    
    使用mysqldump 来创建一个单独的dump 文件为每个数据库,在每个slave上加载dump文件。
    
    
    注意:
    
    这个不会工作 在InnoDB 数据库 除非你使用 innodb_file_per_table.
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

  • 相关阅读:
    mysql用户授权及数据备份恢复
    mysql数据库导入导出 查询 修改表记录
    mysql数据库 索引 事务和事务回滚
    mysql数据库基本使用(增删改查)
    B-Tree 和 B+Tree
    网络七层模型及TCP、UDP,一次HTTP请求都发生了什么
    堆排、python实现堆排
    Linux 文件系统
    现有n 个乱序数,都大于 1000 ,让取排行榜前十,时间复杂度为o(n), top10, 或者 topK,应用场景榜单Top:10,堆实现Top k
    Ajax 基础
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13351301.html
Copyright © 2011-2022 走看看