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系 ...
随机推荐
- DG:三种模式切换
应用归档日志方式进行数据同步 SQL> alter system set log_archive_dest_2='SERVICE=standby arch noaffirm valid_for= ...
- jmap执行失败了,怎么获取heapdump?
原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,非公众号转载保留此声明. 在之前的OOM问题复盘中,我们添加了jmap脚本来自动dump内存现场,方便排查OOM问题. 但当我反复模拟OO ...
- 3.2 构造器、this、包机制、访问修饰符、封装
构造器 构造器:在实例化的一个对象的时候会给对象赋予初始值,因此我们可以通过修改构造器,来改变对象的初始值,构造器是完成对象的初始化,并不是创建对象 我们也可以创建多个构造器实现不同的初始化,即构造器 ...
- CVE-2015-5254漏洞复现
1.漏洞介绍. Apache ActiveMQ 是美国阿帕奇(Apache)软件基金会所研发的一套开源的消息中间件,它支持 Java 消息服务,集群,Spring Framework 等.Apache ...
- Python 函数返回值及传递列表
函数返回值 函数并非总是直接显示输出,它可以处理一些数据,并返回一个或一组值,函数返回的值被称为返回值. 使用return语句将值返回到调用函数的代码行中 # 返回简单值 def get_format ...
- 《C和指针》第一章
1 第一章 C标准库中几个常用的IO函数 int puts(void *str): 从str中提取字符直到遇到第一个'\0'为止,将这些字符串加上'\n'后发送给stdout. int main(vo ...
- 2023-04-17:设计一个包含一些单词的特殊词典,并能够通过前缀和后缀来检索单词。 实现 WordFilter 类: WordFilter(string[] words) 使用词典中的单词 wor
2023-04-17:设计一个包含一些单词的特殊词典,并能够通过前缀和后缀来检索单词. 实现 WordFilter 类: WordFilter(string[] words) 使用词典中的单词 wor ...
- 2020-12-06:mysql中,多个索引会有多份数据吗?
福哥答案2020-12-06: 数据不会有多份,索引有几个就有几份.聚簇索引存数据和索引,非聚簇索引存索引,聚簇索引只有一个,非聚簇索引可以有多个.
- 2022-02-25:k8s安装zookeeper,yaml如何写?找份北京的golang后端工作,35岁,有人收我吗?
2022-02-25:k8s安装zookeeper,yaml如何写?找份北京的golang后端工作,35岁,有人收我吗? 答案2022-02-25: yaml如下: apiVersion: apps/ ...
- 2021-09-29:不同路径。一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为
2021-09-29:不同路径.一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 "Start" ).机器人每次只能向下或者向右移动一步.机器人试图达到网格的右 ...