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.
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

  • 相关阅读:
    Xcode 配置常用变量(SRCROOT, PROJECT_DIR, PROJECT_NAME)
    Git submodule实战
    Charles抓Https的包
    Vue-Quill-Editor 富文本编辑器的使用
    vue计算属性无法监听到数组内部变化
    移动端键盘弹起导致底部按钮上浮解决方案
    js中数组删除 splice和delete的区别,以及delete的使用
    js实现复制input的value到剪切板
    treetable
    vue中状态管理vuex的使用分享
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13351301.html
Copyright © 2011-2022 走看看