当前位置: 首页 > news >正文

河长制网站建设运维为什么没人干

河长制网站建设,运维为什么没人干,广告设计与制作专升本,新建wordpress无法发布搜索热词《MysqL实例使用Rotate Master实现MysqL 多主复制的实现方法》要点#xff1a;本文介绍了MysqL实例使用Rotate Master实现MysqL 多主复制的实现方法#xff0c;希望对您有用。如果有疑问#xff0c;可以联系我们。当然,5.6的GUID功能的出现也带来了multi-master的无…搜索热词《MysqL实例使用Rotate Master实现MysqL 多主复制的实现方法》要点本文介绍了MysqL实例使用Rotate Master实现MysqL 多主复制的实现方法希望对您有用。如果有疑问可以联系我们。当然,5.6的GUID功能的出现也带来了multi-master的无限可能,不过这个已经是题外话了.本文主要介绍一种非实时的适用于各版本MysqL的multi-master办法.内容简介最初的思路来源于一位国外DBA的blog http://thenoyes.com/littlenoise/?p117基本原理就是通过SP记录当前 master-log的name和pos记录到表中,然后读取下一个master记录,执行stop slave / change master / start slave.以此循环反复.个人对他的办法进行了改进,增加了以下功能1. master可以根据业务流量设置权重值2. 各个master-slave运行情况的监控3. 各个master可以实时退出多主的架构具体操作过程1. 创建保存各个master信息的表代码如下:use MysqL;CREATE TABLE rotate_master (id int(11) NOT NULL AUTO_INCREMENT,master_host varchar(255) DEFAULT NULL comment master地址,master_port int(10) unsigned DEFAULT NULL comment master端口,master_log_file varchar(255) DEFAULT NULL ‘上次停止时的master-log文件,master_log_pos int(10) unsigned DEFAULT NULL comment 上次停止时的master-log-pos,IS_Slave_Running varchar(10) DEFAULT NULL comment 上次停止时主从是否有异常,in_use tinyint(1) DEFAULT 0 comment 是否是当前正在同步的数据行,weight int(11) NOT NULL DEFAULT 1 comment 该master的权重,即重复执行多少个时间片,repeated_times int(11) NOT NULL DEFAULT 0 comment 当前已经重复执行的时间片数,LastExecuteTime timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP comment 上次执行的时间,PRIMARY KEY (id)) ENGINEInnoDB DEFAULT CHARSETutf8新增加一个master 代码如下:insert into rotate_master(master_host,master_port,master_log_file,master_log_pos,in_use,weight)values-- 1号master,权重1,并设置为当前master(192.168.0.1,3307,MysqLbinlog.000542,4,1,1),-- 2号master,权重2(192.168.0.2,3306,MysqLbinlog.000702,64762429,2),-- 3号master,权重5(192.168.0.3,MysqLbinlog.000646,22157422,5)手工把master 调整到当前的配置项代码如下:change master to master_host192.168.0.1,master_port3306,master_log_fileMysqLbinlog.000542,master_log_pos4,master_userrepl,master_passwordrepl;start slave;创建rotate master SP注意代码中用于连接master的用户名和暗码是 repl / repl,请根据自己的情况修改.代码如下:DELIMITER $$DROP PROCEDURE IF EXISTS MysqL.rotate_master$$CREATE DEFINERrootlocalhost PROCEDURE rotate_master()BEGINDECLARE _info text;DECLARE _master_file varchar(255);DECLARE _master_pos int unsigned;DECLARE _master_host varchar(255);DECLARE _master_port int unsigned;DECLARE _is_slave_running varchar(10);DECLARE _id int;DECLARE _weight int;DECLARE _repeated_times int;select VARIABLE_VALUE from information_schema.GLOBAL_STATUS where VARIABLE_NAME Slave_running into _is_slave_running;STOP SLAVE;SELECT LOAD_FILE(relay_log_info_file) INTO _info;SELECTSUBSTRING_INDEX(SUBSTRING_INDEX(_info,\n,3),-1),SUBSTRING_INDEX(SUBSTRING_INDEX(_info,4),-1)INTO _master_file,_master_pos;UPDATE MysqL.rotate_master SET master_log_file _master_file,master_log_pos _master_pos,id LAST_INSERT_ID(id),IS_Slave_Running _is_slave_running WHERE in_use 1;select weight,repeated_times into _weight,_repeated_times from MysqL.rotate_master where in_use 1;if(_weight _repeated_times)THENSELECTid,master_host,master_port,master_log_file,master_log_posINTO _id,_master_host,_master_port,_master_file,_master_posFROM rotate_masterORDER BY id LAST_INSERT_ID(),id LIMIT 1;SET sql : CONCAT(CHANGE MASTER TO master_host,QUOTE(_master_host),,master_port,master_log_file,QUOTE(_master_file),master_log_pos,_master_pos,master_userrepl,master_passwordrepl);PREPARE myStmt FROM sql;EXECUTE myStmt;UPDATE MysqL.rotate_master SET in_use 0,repeated_times0 WHERE in_use 1;UPDATE MysqL.rotate_master SET in_use 1,repeated_times1 WHERE id _id;ELSEUPDATE MysqL.rotate_master SET repeated_timesrepeated_times1 WHERE in_use 1;END IF;START SLAVE;END$$DELIMITER ;创立Event每2分钟运行一次,rotate_master(),即时间片大小是2分钟代码如下:DELIMITER $$CREATE EVENT rotate_master ON SCHEDULE EVERY 120 SECOND STARTS 2011-10-13 14:09:40 ON COMPLETION NOT PRESERVE ENABLE DO CALL MysqL.rotate_master()$$DELIMITER ;至此,多主复制已经搭建完成.由于时间片长度是2分钟.Master1 在执行 1*2 分钟后,stop slave,然后change master to Master2Master2 在执行 2*2 分钟后,然后change master to Master3Master3 在执行 5*2 分钟后,然后change master to Master2并以此循环往复.如果希望把此中一个master移除多主复制,可以将他的配置项权重设置为0即 update rotate_master set weigh0 where id #ID# ;编程之家PHP培训学院每天发布《MysqL实例使用Rotate Master实现MysqL 多主复制的实现方法》等实战技能PHP、MysqL、LINUX、APP、JS,CSS全面培养人才。总结如果觉得编程之家网站内容还不错欢迎将编程之家网站推荐给程序员好友。本图文内容来源于网友网络收集整理提供作为学习参考使用版权属于原作者。
http://www.zqtcl.cn/news/352079/

相关文章:

  • 网站开始怎么做上海响应式网页建设
  • 网站备案 seo免费二维码制作网站
  • 删除网站备案网站建设湖南岚鸿建设
  • 做vlogger的网站有哪些长沙网站排名技巧
  • 媒体营销平台商品seo关键词优化
  • 芜湖先锋网站两学一做wordpress菜单顶部
  • 网站策划怎么样一级域名网站如何申请
  • 烟台高端网站开发网站开发哪个公司好
  • 广州网站定制开发方案南宁网站 制作
  • php做网站需要后台吗郑州建网站十大
  • 网站跳出率是什么意思百度服务
  • 建站 discuz开发者导航
  • 有哪些网站可以做毕业设计外贸网站发外链
  • 如何使用网站模板计算机培训班有用吗
  • 本地宁波网站建设电子商务网站建设工具都有那些
  • 网站建设的基本目标免费 wordpress企业主题
  • 专业网站建设微信商城开发规划馆网站建设
  • 网站建设公司沈阳西安建设工程信息交易中心官网
  • 青海住房和城乡建设部网站wordpress php7.3
  • 网站后台重置密码怎么做360网站怎么做网址链接
  • 广告网站建设及推广网站建设怎样推广
  • 做网站使网页不居中滁州注册公司流程和费用
  • 做网站广告经营者个性定制网站
  • 网站开发 北京外包公司软件公司网站建设
  • 网络认证入口seo免费诊断
  • 十大知名博客网站郑州企业建站公司定制
  • 视频网站如何做引流网站首页 关键词
  • 建设机械网站精英大港做网站
  • 潜山网站建设公司哪里有wordpress相册投票插件
  • 网站建设制作过程网站添加支付功能