1 / 29
文档名称:

mysql主从复制以及读写分离.doc

格式:doc   大小:366KB   页数:29页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

mysql主从复制以及读写分离.doc

上传人:63229029 2017/8/1 文件大小:366 KB

下载得到文件列表

mysql主从复制以及读写分离.doc

文档介绍

文档介绍:mysql主从复制以及读写分离
之前我们已经对LNMP平台的Nginx做过了负载均衡以及高可用的部署,今天我们就通过一些技术来提升数据的高可用以及数据库性能的提升。
一、mysql主从复制
首先我们先来看一下主从复制能够解决什么问题。
1、数据库简介
  在现在的世界发展的道路上,数据已经是必不可缺的一部分了,对数据的安全性,也成为了现在的一个值得探讨的问题。那有什么方法能够解决数据的安全性呢?   
       我们通过mysql本身的功能来实现数据的备份,之前我们也对数据可的数据进行了一些备份,但是那些都不是很好的解决办法,因为无论之前的导入导出也好,还是直接对数据库所在目录直接进行拷贝,这些技术不能保证实时性,而我们今天所介绍的就是能够对数据库实现热备份,从而提高数据库的安全性——mysql主从复制
2、主从复制原理
1)mysql支持的复制类型
       (1)基于语句的复制。在主服务器上执行的sql语句,在从服务器上执行同样的语句。mysql默认使用基于语句的复制,效率比其他方式较高。
       (2)基于行的复制,把改变的内容复制过去,而不是在从服务器上在执行一遍。
       (3)混合复制类型,默认采用基于语句的复制,一旦发现基于语句无法精确复制时,就会采用基于行的复制。
2)复制的工作过程
mysql复制的工作过程如下所示:
图1
mysql复制的工作过程
       (1)在每个事务跟新完成之前。master在二进制日志记录这些改变。写入二进制日志完成后,master通知存储引擎提交事务。
       (2)Slave将Master的Binary log复制到其中继日志。首先,slave打开一个工作线程——I/O线程,I/O线程在Master上打开一个网络连接,然后开始Binlog dump process。Binlog dump process从Master的二进制日志中读取事件,如果已经成功链接到Master,他会进行睡眠并等待Master产生新的事件。I/O线程将这些事件写入中继日志
       (3)SQL slave thread(SQL 从线程)处理该过程的最后一步。SQL线程从中继日志读取事件,并重放其中的事件而更新Slave的数据,使其与Master中的数据一致,只要该线程与I/O线程保持一致,中继日志通常会位于OS的缓存中,所以中继日志开销很小。
       以上就是mysql主从复制的原理,Slave可以有多台,主服务也可以有多台,可以使用keepalived做HA的高可用性,建议mysql的数据不要只放在共享存储上,而是每个Slave都拥有一个单独的存储存放数据。
       复制的过程中有一个很重要的限制,即复制在Slave上是串行化的,也就是说Master上的并行更新操作不能在Slave上并行操作,也就是不能同时执行。
3、mysql读写分离原理
       简单来说就是实现读与写的分离(图2)就是读在从服务器上读取数据,在写数据的时候是写在主服务上的。基本原理就是让主服务器处理一些简单的事务性查询,而从服务器处理
select查询、数据库复制被用来把事务性查询导致的变更同步到集群的从数据库中。
图2
       目前较为常见的Mysql读写分离分为两种
1)基于程序代码内部实现
       在代码中根据select 、insert进行路由分类,这类方法也是目前生产环境下应用最广泛的。优点是性能较好,因为程序在代码中实现,不需要增加额外的硬件开支:缺点是需要开发人员来实现,运维人员无从下手。
2)基于中间代理层实现
       代理一般介于应用服务器和数据库服务器之间,代理数据库服务器接收到应用服务器的请求后根据判断后转发到,后端数据库,有以下代表性的程序。
(1)mysql_proxy。mysql_proxy是Mysql的一个开源项目,通过其自带的lua脚本进行sql判断,虽然是mysql的官方产品,但是mysql官方并不推荐将其部署在生产环境下。
(2)Atlas。是由 Qihoo 360, Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。它是在mysql-proxy ,对其进行了优化,增加了一些新的功能特性。360内部使用Atlas运行的mysql业务,每天承载的读写请求数达几十亿条。支持事物以及存储过程
(3)Moeeba。由阿里巴巴集团在职员工陈思儒使用序java语言进行开发,阿里巴巴集团将其用户生产环境下,但是他并不支持事物以及存数过程。
       我们今天所演示的就是amoeba这款软件。
二、案例环境

最近更新

七年级下册英语教学计划范文 4页

2025年清明夜好风胧月清明夜翻译赏析(精选8篇.. 16页

2025年清平乐,清平乐毛熙震,清平乐的意思,清平.. 6页

2025年县乡教师选调考试《教师职业道德》题库.. 51页

2025年县乡教师选调考试《教师职业道德》题库.. 52页

2025年县乡教师选调考试《教师职业道德》题库.. 51页

2025年事业单位招聘职业能力倾向测验考试题库.. 111页

2025年升机卷筒衬木车削装置设计本科学位论文.. 32页

2025年深秋的初一优秀作文(精选17篇) 24页

一:二0一一年公司双拥工作计划 5页

2025年(必备)防汛工作总结 43页

2025年深圳的夜晚小学作文350字(共27篇) 26页

2025年国家电网招聘之经济学类考试题库附参考.. 80页

一年级第一学期班主任的个人工作计划 3页

2025年初级银行从业资格之初级个人贷款考试题.. 165页

2025年初级银行从业资格之初级个人贷款考试题.. 169页

2025年初级银行从业资格之初级个人贷款考试题.. 169页

2025年国家电网招聘之通信类考试题库附答案(.. 165页

2025年初级银行从业资格之初级风险管理考试题.. 170页

2025年淘气小表妹四年级日记(共6篇) 7页

2025年国家电网招聘之通信类考试题库含答案(.. 165页

2025年土地登记代理人之土地登记相关法律知识.. 179页

2024年长沙民政职业技术学院单招职业技能测试.. 76页

高二(下学期)期末物理试卷及答案解析 24页

连铸坯表面裂纹形成及防止研究学习教案 32页

北师大版高一下数学教学计划6篇范文 20页

耶稣降生查经稿讲章 5页

房地产财务分析报告范本(共22页) 22页

传授菩萨戒仪轨 18页

《佛教念诵集》(早课)简体注音校正版 30页