Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >高性能MySQL第十二章 读书笔记

高性能MySQL第十二章 读书笔记

作者头像
用户7962184
发布于 2020-11-20 07:03:13
发布于 2020-11-20 07:03:13
3050
举报
文章被收录于专栏:没事多喝水没事多喝水

第12章 高可用性

  • 高可用性实际上意味着更短的宕机时间。
  • 100%的高可用性是不可能达到的,5个9意味着99.990%的正常可用时间,换句话说,每年只允许5分钟的宕机时间。
  • 导致宕机的原因需要注意的地方:
  1. 运行环境中,最普遍的问题是磁盘空间耗尽。
  2. 性能问题中,最普遍是运行很糟糕的sql,糟糕的Schema和索引设计。
  3. 复制问题通常由于主备数据不一致导致的。
  • 如何实现高可用性主要从两方面入手,避免宕机原因,减少宕机恢复时长。
  • 提升失效平均失效时间的注意点:
  1. 测试恢复工具和流程,包括中备份中恢复数据。
  2. 遵循最小权限原则。
  3. 保持系统干净,整洁。
  4. 使用好的命名和组织约定来避免产生混乱,例如服务器是用于开发还是生产环境。
  5. 谨慎安排升级数据库服务器。
  6. 在升级前,要自己检查系统。
  7. 使用innodb并进行适当的配置,确保innodb是默认的存储引擎。
  8. 确认基本的服务器配置是正确的。
  9. 通过skip_name_resolve禁止DNS
  10. 除非能证明有效,否则禁用查询缓存。
  11. 避免使用复杂的特性。
  12. 监控重要的组件和功能,但是也要避免误报。
  13. 记录服务器状态和性能指标。
  14. 定期检查复制完整性。
  15. 将备库设置成只读。
  16. 定期进行查询语句审查。
  17. 归档并清理不需要的数据。
  18. 为系统保留一部分的性能。
  • 避免单点,增加冗余
  • 虚拟ip地址或者ip地址接管可以较快得切换故障的服务器。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
MySQL - 高可用性:少宕机即高可用?
我们之前了解了复制、扩展性,接下来就让我们来了解可用性。归根到底,高可用性就意味着 "更少的宕机时间"。
北国风光
2019/05/13
1.6K0
高性能MySQL【笔记】超详细
一、MySQL架构与历史 A.并发控制 1.共享锁(shared lock,读锁):共享的,相互不阻塞的 2.排他锁(exclusive lock,写锁):排他的,一个写锁会阻塞其他的写锁和读锁 B.事务 1.事务ACID
硬核项目经理
2019/08/06
1.4K0
高性能MySQL【笔记】超详细
3分钟速读原著《高性能MySQL》(四)
Induction是一款用于理解数据关系的开源管理工具,它可用来探索行/列,运行查询和数据可视化等方面。该工具支持多种数据库,包括PostgreSQL,MySQL,SQLite,Redis以及MongoDB。此外,Induction还可以通过编写添加其他新的适配器。
cwl_java
2019/10/26
1.2K0
《高性能Mysql》学习笔记(三)
即没有特别指明的类型,大多数时候mysql 引擎都支持这种索引(Archive 是例外, 5.1 之前不支持,之后支持单个自增列的索引)
阿东
2021/11/02
1.3K0
面试:第十二章:所有总结
Java集合框架的根接口有Collection和Map。Collection根接口包含List和Set二个子接口。
Java廖志伟
2022/09/28
1.5K0
MySQL复制性能优化和常见问题分析
二进制日志文件并不是每次写的时候都会同步到磁盘,当发生宕机的时候,可能会有最后一部分数据没有写入到binlog中,这给恢复和复制带来了问题。当sync_binlog=1表示每写缓冲一次就同步到磁盘,表示同步写磁盘的方式来写binlog。也就是说每当向MySQL提交一次事务,MySQL将进行一次fsync之类的磁盘同步命令来将binlog_cache的数据强制刷到磁盘中sync_binlog的值默认为0,sync_binlog=0时表示采用操作系统机制进行缓冲数据同步。采用sync_binlog=1时,会增加磁盘IO的次数,会影响写入性能。sync_binlog=1时,并不是100%安全,会存在相应的问题。比如说使用Innodb引擎时,在一个事务发出commit前,会将binlog立即刷到磁盘中。如果这时候已经写入到binlog中,但是还没有提交就已经挂了,那么MySQL重启时,会将通过Redo log、Undo log将这个事务回滚掉,但是binlog已经记入了该事务信息,不能回滚掉。所以我们需要设置innodb_support_xa=1确保MySQL服务层的binlog和MySQL存储引擎层的Redo log、Undo log之间的数据一致性。
用户2032165
2018/12/07
1.2K0
MySQL复制性能优化和常见问题分析
第十二章《mysql的日志优化》
一、日志 1.redo、undo 2.mysql主要的日志:1、错误日志2、查询日志(普通查询日志和慢查询日志)3、二进制日志
Java架构师必看
2021/06/02
3740
第十二章《mysql的日志优化》
001.SQLServer高可用简介
Windows故障转移群集是由多个服务器组成的共同提供某高可用服务,该服务用于防止单台服务器故障导致服务失效。故障转移群集是一种高可用性的基础结构层,由多台计算机组成,每台计算机相当于一个冗余节点,整个群集系统允许某部分节点掉线、故障或损坏而不影响整个系统的正常运作。一台服务器接管发生故障的服务器的过程通常称为"故障转移"。
木二
2019/07/01
2K0
高性能MySQL复制与缓存
复制解决的基本问题 让一台服务器的数据让其他服务器保持同步,一台主库的数据可以同步到多台备库上,悲苦本身也可以被配置成另外一台服务器的主库。 MySQL支持两种复制方式:基于行的复制和基于语句的复制(逻辑复制)。这两种都是在主库上记录二进制日志,在备库重放日志的方式来实现异步的数据复制, 这说明同一时间主备库存在不一致,并且无法保证主备之间的延迟。 常见的复制用途 数据分布:MySQL通常复制不会造成很大的贷款压力,但基于行的复制会比基于语句的复制带宽压力大, 可以随意停止或开始复制,并在不同的地理位置来分
Java高级架构
2018/07/20
7730
深入MySQL数据库进阶实战:性能优化、高可用性与安全性
MySQL是世界上最流行的开源关系型数据库管理系统之一。本文将深入探讨MySQL数据库的进阶实战,重点关注性能优化、高可用性和安全性方面的最佳实践。通过详细的代码示例和技术解析,读者将获得有关如何更好地配置、管理和保护MySQL数据库的知识。
海拥
2023/09/27
1.4K0
深入MySQL数据库进阶实战:性能优化、高可用性与安全性
MySQL-高可用架构探索
http://www.searchdoc.cn/rdbms/mysql/dev.mysql.com/doc/refman/5.7/en/index.com.coder114.cn.html
小小工匠
2021/08/17
4430
什么是高可用性?
随着对旨在为关键系统提供服务的可靠和高性能基础架构的需求不断增加,术语可扩展性和高可用性不再受欢迎。虽然处理增加的系统负载是一个常见问题,但减少停机时间和消除单点故障同样重要。高可用性是一种大规模的基础设施设计,可以满足后面的考虑因素。
挺问中原
2018/10/25
6.9K1
关闭删库跑路的后门,打造高可用的MySQL
数据是当今Web,移动,社交,企业和云应用程序的流行货币。确保数据始终可用是任何组织的头等大事。几分钟的停机时间可能会导致收入和声誉严重损失。
JavaEdge
2020/05/27
6980
关闭删库跑路的后门,打造高可用的MySQL
《大型网站技术架构》读书笔记之五:万无一失之网站的高可用架构
此篇已收录至《大型网站技术架构》读书笔记系列目录贴,点击访问该目录可获取更多内容。
Edison Zhou
2018/08/20
4950
《大型网站技术架构》读书笔记之五:万无一失之网站的高可用架构
关于高可用系统的一些思考
最近有粉丝反馈说面试阿里和京东都遇到了同一个题,问题都是都是在第二面,考察候选人架构设计能力:设计一个高可用系统。
王炸
2019/07/30
6020
关于高可用系统的一些思考
聊聊什么是集群?
计算机集群简称集群,是一种计算机系统,它通过一组松散集成的计算机软件(和/或)硬件连接起来高度紧密地协作完成计算工作。在某种意义上,他们可以被看作是一台计算机。集群系统中的单个计算机通常称为节点,通常通过局域网连接,但也有其它的可能连接方式。集群计算机通常用来改进单个计算机的计算速度(和/或)可靠性。一般情况下集群计算机比单个计算机,工作站或超级计算机性能价格比要高得多。
咻一咻
2020/05/29
1.4K0
《高性能 MySQL》读书笔记
1、隔离级别有四种: READ UNCOMMITTED(未提交读),同事务中某个语句的修改,即使没有提交,对其他事务也是可见的。这个也叫脏读。 READ COMMITTED(提交读),另一个事务只能读到该事务已经提交的修改,是大多数据库默认的隔离级别。但是有下列问题,一个事务中两次读取同一个数据,由于这个数据可能被另一个事务提交了两次,所以会出现两次不同的结果,所以这个级别又叫做不可重复读。这里的不一样的数据包括虚读(两次结果不同)和幻读(出现新的或者缺少了某数据)。 REPEATABLE READ(可重复读),这个级别不允许脏读和不可重复读,比如MYSQL中通过MVCC来实现解决幻读问题。 SERIALIABLE(可串行化),这儿实现了读锁,级别最高。
DannyHoo
2018/09/13
1.5K0
《高性能 MySQL》读书笔记
高性能MySQL第八章 读书笔记
0:日志每秒刷新,但是在事务提交时不做任何处理,1,每次提交都刷新,这是最安全的也是默认的。2,每次事务提交都把日志缓存写到日志文件,再由innodb每秒做一次刷新。
用户7962184
2020/11/20
4910
mysql高可用架构设计,处理高并发,大流量!
主要介绍:复制功能介绍、mysql二进制日志、mysql复制拓扑、高可用框架、单点故障、读写分离和负载均衡介绍等 mysql复制功能介绍 mysql复制功能提供分担读负载 复制解决的问题 实现在不同服务器上的数据分布 利用二进制日志增量进行 不需要太多的带宽 但是使用基于行的复制在进行大批量的更改时会对带宽带来一定得压力,特别是跨IDC环境下进行复制 实现在不同服务器上的数据分布 实现数据读取的负载均衡 需要其他组件配合完成 利用DNS轮询的方式把程序的读连接到不同的备份数据库, 使用LVS,haproxy
思梦php
2018/03/09
2.4K0
mysql高可用架构设计,处理高并发,大流量!
高可用 - 01 闲聊高性能集群
集群是一组协同工作的服务集合,用来提供比单一服务更稳定、更高效、更具扩展性的服务平台。
小小工匠
2023/02/23
8160
高可用 - 01 闲聊高性能集群
相关推荐
MySQL - 高可用性:少宕机即高可用?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文