我们有一个数据库:
每个表都有aid和id这两个字段,aid是自增字段,id则是aid加上一个前缀,各服务器的前缀不同,可以看到,
各个服务器都能保证彼此的id是不重复的,aid唯一的作用就是生成id的变化部分, 比如 id=100,服务器前缀是99,则id=99100
真正有用的id,aid即使之后改变了也无所谓现在数据库要加上主从同步功能,  我想知道可不可以乎略这个aid字段,只让id和其它字段参与同步? 我知道可以用 auto-increment-offset 来防止主键冲突,只是觉得不同步aid应该扩展性更好更方便

解决方案 »

  1.   

    本帖最后由 ACMAIN_CHM 于 2012-04-17 10:22:00 编辑
      

  2.   

    如果现在有一台新的服务器要加入主主同步队列,我是不是必须要停掉所有服务器上的mysql,重新设置my.cnf等操作后再重新启动所有mysql服务?有没有可能不间断其它服务器?
      

  3.   

    可以  直接用mysqldump --single-transaction --master-data=2 备份整个主库
    然后倒入到新的从库,然后从本分文件中取出master的位置
    在新slave上执行change master即可
      

  4.   


    谢谢,之前的各库也要填加这个新库为master吧, 而且还要设置 auto_increment_increment, auto-increment-offset之类的,
      

  5.   

    auto_increment_increment, auto-increment-offset
    是不是最好都在 my.cnf里设置,而不是在实例中用语句执行?auto_increment_increment是不是最好一开始就设置得足够大,不然以后填加机器会比较麻烦?