mysql监控优化(二)主从复制
复制解决的基本问题是让一台服务器的数据和其他服务器保持同步。一台主服务器的数据可以同步到多台从服务器上。并且从服务器也可以被配置为另外一台服务器的主库。主库和从库之间可以有多种不同的组合方式。
MySQL支持两种复制方案:基于语句的复制(statement-based replication)和基于行的复制(Row-based replication)。基于语句的复制在MySQL3.23就已经存在,它是使用较多的复制方式。基于行的复制是MySQL5.1引入的。这2种复制方式都是通过记录主服务器的二进制日志,并在从服务器进行重放(replay)完成复制。它们都是异步的。也就是说,从服务器上的数据并非都是最新的。
复制通常不会增加主库的开销,主要是启用二进制日志带来的开销,但出于备份戒及时从崩溃中恢复的目的,这些开销是必要的。通过复制可以将读操作指向从库来获得更好的读扩展,但对于写操作,并不适合通过复制来扩展。
1、mysql复制用途
- 分布数据
MySQL通常不会对带宽造成很大的压力。因此可以在不同的地理位置来分布数据,实现跨机房跨地域的数据分布。
- 负载均衡
通过MySQL复制可以将读操作分布到多个服务器上,实现对读密集型应用的优化。
- 备份
复制对备份很有帮助,但是从服务器并不是备份。
- 高可用性和故障转移
复制可以避免在应用程序中出现MySQL失效。好癿故隓转移能显著的减少停机时间,甚至让用户无感知。
- 测试MySQL版本升级
一个常见的方法是先把从服务器升级到MySQL新版本,然后用它来测试查询,确保无异常后再升级主服务器
2、案例:客户投诉:修改了xx信息,提示修改成功。再查看还是旧数据。怎么回事?
很有可能是数据库主从延迟造成的
3、MySQL主从延时延时问题如何处理?
1.偶发性延时:控制写入速度,削峰填谷。
2.频发性延时:拆分数据库实现多点写入
3.最后一招:从库磁盘硬件升级为ssd
4、 mysql主从复制的过程是怎样的呢?如下图所示
3个线程完成复制:
- 主库1个线程负责记录数据库变更日志
- 从库1个线程负责拉取主库的变更日志
- 从库1个线程负责执行主库的变更日志
- 实现了获取事件和重放事件的解耦,允许异步进行。
- 复制的瓶颈:主库并行(多线程)写入和从库串行(单线程)写入,会造成主从延迟。
mysql监控优化(二)主从复制的更多相关文章
- MySQL性能优化(二):优化数据库的设计
原文:MySQL性能优化(二):优化数据库的设计 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.n ...
- MySql监控优化
MySQL监控 MySQL服务器硬件和OS(操作系统)调优: 1.有足够的物理内存,能将整个InnoDB文件加载到内存里 —— 如果访问的文件在内存里,而不是在磁盘上,InnoDB会快很多. ...
- mysql监控优化(一)连接数和缓存
一.mysql的连接数 MYSQL数据库安装完成后,默认最大连接数是100,一般流量稍微大一点的论坛或网站这个连接数是远远不够的,连接数少的话,在大并发下连接数会不够用,会有很多线程在等待其他连接释放 ...
- [mysql终极优化]之主从复制与读写分离详细设置教程
读写分离与主从复制是提升mysql性能的重要及必要手段,大中型管理系统或网站必用之. 一.什么是读写分离与主从复制 先看图 如上图所示,当web server1/2/3要写入数据时,则向mysql d ...
- mysql性能优化(二)
###> mysql中有一个explain 命令可以用来分析select 语句的运行效果,例如explain可以获得select语句使用的索引情况.排序的情况等等.除此以外,explain 的e ...
- mysql监控优化(三)慢查询
顾名思义,慢查询日志中记录的是执行时间较长的query,也就是我们常说的slowquery,通过设--log-slow-queries[=file_name]来打开该功能并设置记录位置和文件名.慢查询 ...
- Mysql性能优化三(分表、增量备份、还原)
接上篇Mysql性能优化二 对表进行水平划分 如果一个表的记录数太多了,比如上千万条,而且需要经常检索,那么我们就有必要化整为零了.如果我拆成100个表,那么每个表只有10万条记录.当然这需要数据在逻 ...
- 京东MySQL监控之Zabbix优化、自动化
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://wangwei007.blog.51cto.com/68019/1833332 随 ...
- 二十种实战调优MySQL性能优化的经验
二十种实战调优MySQL性能优化的经验 发布时间:2012 年 2 月 15 日 发布者: OurMySQL 来源:web大本营 才被阅读:3,354 次 消灭0评论 本文将为大家介 ...
随机推荐
- centos6.5 系统上升级2.6.6到2.7.12
因开发需要,今天把CentOS 6.4自带的Python2.6.6升级到了Python2.7.3.按照如下步骤进行升级 1.查看当前系统python的版本 python -V 2.下载2.7.3版本的 ...
- ci 框架插入时返回插入的id号
$this->db->insert('goods',$data); $gid=$this->db->insert_id('goods'); return $gid;
- gitolite 服务器搭建
网上大牛都说的是安装gitolite要建git用户,我看完全没必要,毕竟用户拿到私钥也未必能登录服务器吧...下面我们就用root用户来安装gitolite,并且配置版本库文件保存路径.. 1. gi ...
- 数据透视表sql:用SQL行列转换实现数据透视的一些思考
用SQL行列转换实现数据透视的一些思考 摘要:根据对报表开发过程中碰到的需要用SQL行列转换进行解决的一类查询统计问题的分析,逐步探索求解得到一种较通用的解决思路,并用函数进行实现.该解决思路及函数实 ...
- hdu 1201:18岁生日(水题,闰年)
18岁生日 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...
- swift开发之--Protocol(协议)
使用object-c语言的同学们肯定对协议都不陌生,但在swift中苹果将protocol这种语法发扬的更加深入和彻底. Swift中的protocol不仅能定义方法还能定义属性,配合extensio ...
- vue2.0中,由于页面完成之后dom还未加载完成如何进行操作
再vue中,当页面加载完成以后,dom还没有加载,是无法获取进行操作的,但是在vue2.0中提供了一个方法:this.$nextTick,在这个回调函数里面写dom操作即可: 如下代码: create ...
- POI读写大数据量EXCEL
另一篇文章http://www.cnblogs.com/tootwo2/p/8120053.html里面有xml的一些解释. 大数据量的excel一般都是.xlsx格式的,网上使用POI读写的例子比较 ...
- EditText监听方法,实时的判断输入多少字符
最近在写一个小项目,其中有一点用到了显示EditText中输入了多少个字符,像微博中显示剩余多少字符的功能.在EditText提供了一个方法addTextChangedListener实现对输入文本的 ...
- kafka "HelloWorld"实践
前面我们分别介绍了kafka的相关基本原理,kafka的集群服务器搭建以及kafka相关的配置,本文综合前面的理论知识,运用kafka Java API实现一个简单的客户端Demo. 开发环境 操作系 ...