mysql主从-主主架构设计
前言:
1. mysql主从、主主复制应用场景很多,其原理主推,从定时根据binlog增量拉取更新
2. 如果主/从机器硬件负载过高,或者网络延迟就会造成同步延迟
3. 延迟是必然,mysql复制同步解决的是数据高可用问题提供延后一致性
4. 要解决完全一致性,需要解决的高并发问题- 可以从业务粒度考虑,增加nosql中间层或者mysql proxy或者mysql 5.7提供了完全一致性方案,但数据层来处理这些问题不可取!
1 my.cnf配置
- server-id=11 #任意自然数n,只要保证两台MySQL主机不重复就可以了。
- log-bin=mysql-bin #开启二进制日志 此时为第一台主MySQL
- mysql binlog-ignore=information_schema #忽略information_schema库
- replicate-do-db=aa #要同步的数据库,默认所有库
2 实质为互为主从
master配置
GRANT REPLICATION SLAVE ON *.* TO 'slave252'@'192.168.0.252' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;
show master status;
slave配置
slave stop;
CHANGE MASTER TO MASTER_HOST='192.168.0.250', MASTER_USER='slave252', MASTER_PASSWORD='123456', MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=107;
slave start;
show slave status;
master配置
GRANT REPLICATION SLAVE ON *.* TO 'slave250'@'192.168.0.250' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;
show master status;
slave配置
slave stop;
CHANGE MASTER TO MASTER_HOST='192.168.0.252', MASTER_USER='slave250', MASTER_PASSWORD='123456', MASTER_LOG_FILE='mysql-bin.000004', MASTER_LOG_POS=350;
slave start;
show slave status;
3 检查从状态
Master_Host: 192.168.0.252
Master_User: slave250
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000004
Read_Master_Log_Pos: 350
Relay_Log_File: mysqld-relay-bin.000002
Relay_Log_Pos: 253
Relay_Master_Log_File: mysql-bin.000004
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Master_Server_Id: 252
4 主从同步延迟校验
Seconds_Behind_Master
5 主从延迟解决方案?
延迟出现原因:
1. mysql是被动复制机制,机制存在一定差延迟
2. 延迟是sql thread与io thread之间差值,主机器负载过高造成更新推送延迟,从机器负载过高造成拉取延迟
3. 网络延迟造成主推送或者从拉取数据缓慢而延迟
解决问题:
1. mysql主从复制解决的是数据层高可用、数据层灾备
2. 如果保证数据强一致性,可以使用mysql5.7-支持多线程复制,rpl_semi_sync_master_enabled-完全同步机制
3. 高并发分流:采用多主,谁写谁读,业务层增加nosql 层-有更新读缓存
mysql主从-主主架构设计的更多相关文章
- 学一点 MYSQL 双机异地热备份—-MYSQL主从,主主备份原理及实践
简单介绍mysql双机,多机异地热备简单原理实战. 双机热备的概念简单说一下,就是要保持两个数据库的状态自动同步.对任何一个数据库的操作都自动应用到另外一个数据库,始终保持两个数据库数据一致. 这样做 ...
- MySQL主从、主主、半同步节点架构的的原理及实验总结
一.原理及概念: MySQL 主从复制概念 MySQL 主从复制是指数据可以从一个MySQL数据库服务器主节点复制到一个或多个从节点.MySQL 默认采用异步复制方式,这样从节点不用一直访问主服务器来 ...
- 【转】双机高可用、负载均衡、MySQL(读写分离、主从自动切换)架构设计
架构简介 前几天网友来信说帮忙实现这样一个架构:只有两台机器,需要实现其中一台死机之后另一台能接管这台机器的服务,并且在两台机器正常服务时,两台机器都能用上.于是设计了如下的架构.此架构主要是由kee ...
- 双机高可用、负载均衡、MySQL(读写分离、主从自动切换)架构设计
前几天网友来信说帮忙实现这样一个架构:只有两台机器,需要实现其中一台死机之后另一台能接管这台机器的服务,并且在两台机器正常服务时,两台机器都能用上.于是设计了如下的架构. 架构简介 此架构主要是由ke ...
- 学一点 mysql 双机异地热备份----快速理解mysql主从,主主备份原理及实践
双机热备的概念简单说一下,就是要保持两个数据库的状态 自动同步.对任何一个数据库的操作都自动应用到另外一个数据库,始终保持两个数据库数据一致. 这样做的好处多. 1. 可以做灾备,其中一个坏了可以切换 ...
- MySQL主从及主主环境部署
主从同步 主机环境 mysql的安装可以参考:https://www.cnblogs.com/brianzhu/p/8575243.htmlCentos7版本master:192.168.192.12 ...
- CentOS 6.5 下MySql主从、主主配置
参考网站: http://blog.csdn.net/faye0412/article/details/6280761 http://blog.csdn.net/kk185800961/article ...
- 快速理解mysql主从,主主备份原理及实践
感谢大家在上一篇 学一点Git--20分钟git快速上手 里的踊跃发言.这里再次分享干货, 简单介绍mysql双机,多机异地热备简单原理实战. 双机热备的概念简单说一下,就是要保持两个数据库的状态自动 ...
- mysql主从之主键冲突
收到短信报警,两台数据库都报slave同步失败了,先说明一下环境,架构:lvs+keepalived+amoeba+mysql,主主复制,单台写入, 主1:192.168.0.223(写) 主2:19 ...
- mysql主从配置主主配置
一. 概述 MySQL从3.23.15版本以后提供数据库复制(replication)功能,利用该功能可以实现两个数据库同步.主从模式.互相备份模式的功能.本文档主要阐述了如何在linux系 ...
随机推荐
- ViewGroup的TouchTarget设计思维
TouchTarget需要创建的时候先看下池子里面有没有被回收上来的,如果没有可以利用的就给你创建一个新的,否则就从池子里面把头部的那个可以利用的给你,你把你的东西放进去就行了.回收的时候就是把你放在 ...
- ORA-19870: error while restoring backup piece 数据库恢复报错
问题描述:用备份进行DG恢复,恢复过程中报错ORA-19870: error while restoring backup piece /backup/db_BJCCORA_20180724_02t8 ...
- ChatGPT研究报告:AIGC带来新一轮范式转移
以ChatGPT为代表的AIGC(人工智能生成内容)将成为新一轮范式转移的开始. 本文约4000字,目标是快速建立AIGC知识体系,含有大量的计算专业名词,建议阅读同时扩展搜索. 一.行业现状 1.概 ...
- C语言中,取反运算符~a=-(a+1)的原因
1.因为计算机直接拿读取到的数据去运算付出的代价是最小的,所以计算机存储的数据的形式应该满足读取后不必经过任何加工就能直接用来运算由于原码不经加工无法实现(+a)+(-a)=0,所以不满足该要求,为了 ...
- 记一次 MySQL 主从同步异常的排查记录,百转千回
你好,我是悟空. 这是悟空的第 183 篇原创文章 官网:www.passjava.cn 本文主要内容如下: 一.现象 最近项目的测试环境遇到一个主备同步的问题: 备库的同步线程停止了,无法同步主库的 ...
- WPF 引用字体文件资源
外部字体文件 1.后台代码引用字体 将一个名为"ChineseCharacterSpecialFont.ttf"的ttf文件,放在桌面路径,后台引用方式如下: 1 var ttfF ...
- 如何实现Spring中服务关闭时对象销毁执行代码
spring提供了两种方式用于实现对象销毁时去执行操作 1.实现DisposableBean接口的destroy 2.在bean类的方法上增加@PreDestroy方法,那么这个方法会在Disposa ...
- 关于java中的多态和对实例化对象的一些理解
java面向对象三大特征即为:继承封装多态.而多态需要三大必要条件.分别是:继承.方法重写.父类引用指向子类对象.我们先一个一个来理解. 1.首先是继承和重写.这个很简单.因为多态就是建立在不同的重写 ...
- Prism Sample 7 Module xaml
这一节使用xaml标记甚为不解. 本节注册module 的方式同directory一节很类似.在那一节中,用工厂方法创建一模块目录: protected override IModuleCatalog ...
- Vue使用:style动态给css中某样式赋值
template中 <span class="successOrError" :style="{'--fontColor':"green"}&q ...