• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • MySQL表名映射方案及擴展應用

    發表于:2013-12-31來源:IT博客大學習作者:丁奇點擊數: 標簽:MySQL
    數replicate-rewrite-db 及應用 這個參數是官方版本自帶的。配置格式為 replicate-rewrite-db = from_db -> to_db。 同步效果為將所有在from_db上的操作都修改為對to_db的操作。

      這篇文章介紹的簡單方案應用于如下需求:主庫為了性能考慮,作分庫分表,從庫則上為了多索引查詢等需求,不作分表。

      參數replicate-rewrite-db 及應用

      這個參數是官方版本自帶的。配置格式為 replicate-rewrite-db = from_db -> to_db。 同步效果為將所有在from_db上的操作都修改為對to_db的操作。

      例子:

      因此可以在主庫上做分庫,如需要將表abc分成10個,則主庫上建10個db, 名字為sdb_1, sdb_2, … , sbd_10, 從庫上則只有一個庫sdb.

      在從庫my.cnf中配置10行,第一行為replicate-rewrite-db = sdb_1 -> sdb,以此類推。

      存在的問題

      這個參數能夠解決一部分問題,但是對于單庫內的分表則無法解決。而且若分庫多了,比如需要建立1024個庫,一來維護麻煩,二來my.cnf里面配置好長.

      還有一個很要命的問題是,對于有些應用是按照時間分表,比如按月份新增表,若用此方法新增庫,修改my.cnf則還需要重啟slave。

      另外,并不是所有的表都需要分表,庫級別的映射方案也有諸多不便。

      參數replicate-wild-rewrite-table

      這個新增的參數目的就是要解決上面說到的問題。配置格式如下:

      replicate-wild-rewrite-table=sdb.abc_% -> sdb.abc.

      從庫上同步效果為,將sbd庫內所有符合abc_%格式的表的DML操作,都執行到 sdb.abc表中。

      幾點說明

      1、 這個patch(代碼)基于Percona Server 5.5.18 (淘寶MySQL分支目前基于這個版本)

      2、 只對row based replication的有效

      3、 只對dml有效

    原文轉自:http://blogread.cn/it/article/5512

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>