mysql的主从构架,复制,半同步,SSL加密复制的实现
================================================
#如果上面的过程一直mysql报错,那么我们可以使用下列选项忽略它 在my.cnf里添加replicate-ignore-db=db 在从服务器复制时忽略某个数据库 #如果一直是mysql这个数据库报错,replicate-ignore-db=mysql,重启服务 STOP SLAVE; START SLAVE; SHOW SLAVE STATUS\G # 确保无错才能进行下面的复制过程 ==================================================== 3) 数据库复制过程的实现 (1)#在主服务器上创建一个数据库
(2) 从服务器设置,启动复制线程 mysql> START SLAVE; Query OK, 0 rows affected (0.00 sec) 出现MYDB了,复制成功! =================分 割 线====================== 复制过程详解: 假设我们现在有4台mysql服务器 1主:A 3从:B C D 从服务器B C D 同时发起复制请求后,主服务器A将数据传输给从服务器B C D,这个过程是异步的,A受到请求后,不管B C D是否同步完成,如果有修改数据的,继续写入数据,这在使用的时候是无法控制的,这样可能造成数据不一致(同步到一半断了而主服务器不管),耗时很长.后来goole为mysql引入了一个插件,实现半同步,大大缩减了同步花费的时间,那就是 Semi-sync. 半同步的概念:数据同步时,只等待其中至少一台从服务器(比如B)完成.这样再通过这台从服务器将数据同步给其他服务器(C D)
但是半同步也会带来的问题:网络原因(比如网速很慢)造成同步迟迟不能进行. 解决方法:在等不到某一个从服务器同步后,自动降级为异步. Semi-sync简介: Semi-sync最早是由Google实现的一个补丁,代码主要由Mark Callaghan、Wei Li(@Google)等人贡献.Google原本是将需求提给Hekki的,但是后来等不及就自己实现了.......(现在Mark Callaghan已跳到Facebook,除了Google,他曾经还在Informix、Oracle工作过) 在5.5之后由MySQL Replication Team按照Plugin的方式将代码移植过来,并将Semi-sync独立成MySQL的一个插件,主要代码移植者是Zhenxing He(参考). 下面就介绍半同步的复制过程如何实现(基于上面的基础上): (1)加载插件 如果使用的是5.5版的mysql,那么在/usr/local/mysql/lib/plugin/ 保存了相关的插件,而我们需要安装的是semisync_master.so semisync_slave.so
|
||||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |