mariadb主从复制架构学习笔记
复制功用:
数据分布
负载均衡:读操作,适用于读密集型的应用
备份
高可用和故障切换
MySQL升级测试
在从服务器上有两个线程:
I/O线程:从master请求二进制日志信息,并保存至中继日志
SQL线程:从relay log中读取日志信息,在本地完成重放
在主服务器上为每个从服务器的I/O线程启动一个dump线程,向其发送binary log events
过程图:
补充:对数据库修改的操作首先得应用到磁盘文件才能被写入磁盘二进制日志,因此不可避免从服务器上的数据是会落后于主服务器的
随着网站的发展,当主节点拥有过多从服务器,会给主节点带来过大压力,可以专门使用一台从服务器从主节点上复制二进制日志,再使此从节点变为其他从节点的主节点
过程图:
补充:第一台从服务器不需要存储数据,它只负责传递二进制日志,因此此从服务器的数据库引擎使用BLACKHOLE 当重放中继日志时,它会把所有的数据都放入/dev/null(这相当于一个宇宙黑洞)
二进制日志的格式:建议使用mixed模式,如果可以使用row模式
主从配置过程:
主:1.启用二进制日志,2.设置一个在当前集群中惟一的server-id(以上两步在配置文件中修改):
3.创建一个有复制权限(REPLICATION SLAVE, REPLICATION CLIENT)账号:
grant replication slave,replication client on *.* to 'repl'@'%' identified by 'replpass';
flush privileges;
从:1.启用中继日志,2.设置一个在当前集群中惟一的server-id(以上两步在配置文件中修改):
3.使用有复制权限用户账号连接至主服务器,并启动复制线程:
change master to master_host='192.168.238.224',master_user='repl',master_password='replpass',master_log_file='ON.000003',master_log_pos=4;
使用help change master to查看命令帮助
start slave; 开启I/O和SQL线程
show slave status; 查看同步状态,其中的Seconds_Behind_Master可以查看是否落后主节点,以及落后多少
查看从节点是否只读show global variables like 'read_only';
log_slave_updates = 1 (允许备库将其重放的事件也记录到自身的二进制日志,这样自己既可是从节点也可是主节点)
sync_binlog =1 mysql每次在提交内存中的事物会将内存中的二进制日志同步到磁盘上,保证在服务器崩溃的时候不会丢失事件
innodb_support_xa 默认为true,如果关闭则binlog记录事务的顺序可能与实际不符,造成slave不一致
如果有一台新的从服务器加入,该怎么融入架构中:
1.在主节点做一个完全备份,并记录二进制日志文件及位置
2.在从节点恢复此完全备份,并在启动复制时从记录的二进制日志文件和位置开始
问题:如何提供主节点的高可用?
mariadb主从复制架构学习笔记的更多相关文章
- aws基础架构学习笔记
文章大纲 Aws 的优势 架构完善的框架(WAF) Aws 学习笔记 Aws架构中心 Aws 的优势 4.速度优势 5.全球优势 数分钟内实现全球部署 Aws全球基础设施 Aws 数据中心 来自多家O ...
- Spring Cloud 微服务架构学习笔记与示例
本文示例基于Spring Boot 1.5.x实现,如对Spring Boot不熟悉,可以先学习我的这一篇:<Spring Boot 1.5.x 基础学习示例>.关于微服务基本概念不了解的 ...
- 大型视频网站YouTube架构学习笔记
http://www.kaiyuanba.cn/html/1/131/147/7540.htm这几天一直在关注和学习一些大型网站的架构,希望有一天自己也能设计一个高并发.高容错的系统并能应用在实践上. ...
- ARMv8 内存管理架构.学习笔记
http://blog.csdn.net/forever_2015/article/details/50285955 版权声明:未经博主允许不得转载,请尊重原创, 谢谢! 目 录 第1章 分级存储 ...
- mariadb数据库备份学习笔记
备份类型: 完全备份 部分备份:仅备份其中的一张表或多张表 增量备份:仅备份从上次完全备份或增量备份之后变化的数据部分 热备份:在线备份,读写操作不受影响 温备份:在线备份,读操作可继续进行,但写操作 ...
- 13 JSP、MVC开发模式、EL表达式和JSPL标签+软件设计架构---学习笔记
1.JSP (1)JSP概念:Java Server Pages 即java服务器端页面可以理解为:一个特殊的页面,其中既可以指定定义html标签,又可以定义java代码用于简化书写!!! (2)原理 ...
- linux云计算集群架构学习笔记:用户管理和root用户密码重置
RHEL7用户管理 本节所讲内容: 用户和组的相关配置文件 管理用户和组 RHEL7破解root密码 与windows 相比 LINUX中的用户和账号的作用是一样的. 都是基于用户对访问的资源做控制, ...
- linux云计算集群架构学习笔记:命令查看文件内容
查看文件内容 1.cat 命令 作用:查看文件内容 语法:cat 文件名 2. more 命令 作用:分页查看文件内容 语法:more 文件名 例:more /etc/passwd 按下回车刷新一行 ...
- linux云计算集群架构学习笔记:系统文件的目录结构
文件的基本管理和XFS文件系统备份恢复 1.1 Linux系统目录结构,相对/绝对路径. 1.2 创建/复制/删除文件,rm -rf / 意外事故 1.3 查看文件内容 1.4 xfs文件系统的备 ...
随机推荐
- editplus格式化xml文档
使用editplus打开xml文档,发现文件内容没有格式化,非常难看,使用IE9打开这个xml文档是格式化的,但是IE9打开不能编辑. 在网上找了一些资料发现能够通过一个小插件来是editplus格式 ...
- esriSRGeoCS2Type Constants
ArcGIS Developer Help (Geometry) esriSRGeoCS2Type Constants More geographic coordinate systems. ...
- POJ 2154 【POLYA】【欧拉】
前记: TM终于决定以后干啥了.这几天睡的有点多.困饿交加之间喝了好多水.可能是灌脑了. 切记两件事: 1.安心当单身狗 2.顺心码代码 题意: 给你N种颜色的珠子,串一串长度问N的项链,要求旋转之后 ...
- java静态内部类
public class StaticInnerClass { int x=100; static class inner{ void doitInner() ...
- android点击状态分析
android:addStatesFromChildren="true" :父类从子类中获取点击状态. android:duplicateParentState="tru ...
- hbase的rowkey简单设计
问题: 需要查询某一用户某时间做了什么,PlatID和vopenid可以保证一个用户唯一,但同一时间同一用户可能日志有多条. 使用PlatID(int).vopenid(int)和dtTime(dat ...
- Log4j等级测试
一.结论: 1./**debug.info.warn.error.fatal由低到高*/ 2.注意:log.error(message,e)不会打印异常堆栈信息. 二.测试过程 1.代码 packag ...
- Hive基础之HiveServer2 JDBC的使用
启动HiveServer2: cd $HIVE_HOME/bin 以后台方式默认端口启动HiveServer2(默认端口是10000):hiveserver2 & 以后台方式指定端口的方式启动 ...
- Codeforces Round #219 (Div. 2) B. Making Sequences is Fun
B. Making Sequences is Fun time limit per test 2 seconds memory limit per test 256 megabytes input s ...
- svn执行clean up命令时报错
svn执行clean up命令时报错“Previous operation has not finished; run 'cleanup' if it was interrupted”.无论你到那个父 ...