0评论

Mysql一从多主解决方案

panxs2 2017-10-16 51浏览

想免费获取内部独家PPT资料库?观看行业大牛直播?点击加入腾讯游戏学院游戏开发行业精英群711501594

很多情况下,出于性能和隔离的考虑,我们有若干台主DB,但由于服务器资源有限,我们可能只有一台备DB。我们知道,一个mysql客户端只能连接一个主DB,那么是不是意味着一台备DB只能为一台主DB备份呢?答案是否定的。


    mysql支持多进程工作,也就是一台机器可以开启多个mysql实例。基于这个原理,我们可以在一台机器上,启动多个mysql进程,每个进程拥有独立的数据库集。从而实现一从多主的需求。

    具体实现步骤:

(1)首先按照正常的主从同步进行配置好主DB,如果你已经做了这个工作,可以跳过这一步。

1. log-bin和server-id都要设置好,这是基础;

2. 然后使用grant replication slave让所有的主DB为备DB赋予权限:grant replication slave on *.* to '【自行设定的用户名】'@'【备DB的IP地址】' identified by '【密码】';

然后使用LOCK TABLES锁定主表,把要同步的数据库复制到备DB上,使用SHOW MASTER STATUS记下此时的file和positon:

腾讯游戏学院公众号