您现在的位置是:亿华云 > 系统运维
Linux运维:高可用MySQL解决方案概述
亿华云2025-10-09 15:33:12【系统运维】8人已围观
简介数据库作为最基础的数据存储服务之一,在存储系统中有着非常重要的地位,因此要求其具备高可用性无可厚非。能实现不同SLA(服务水平协定)的解决方案有很多种,这些方案可以保证数据库服务器在硬件或软件出现故障
数据库作为最基础的维高数据存储服务之一,在存储系统中有着非常重要的可用地位,因此要求其具备高可用性无可厚非。解决方能实现不同SLA(服务水平协定)的案概解决方案有很多种,这些方案可以保证数据库服务器在硬件或软件出现故障时服务继续可用。维高
高可用性需要解决的可用主要问题有两个,一个是解决方如何实现数据共享或同步数据,另一个是案概如何处理failover。数据共享一般的维高解决方案是通过SAN(Storage Area Network)来实现,而数据同步可以通过rsync软件或DRBD技术来实现。可用failover的解决方意思是指当服务器死机或出现错误时可以自动切换到其他备用服务器,不影响服务器上业务系统的案概运行。本文介绍目前比较成熟的维高MySQL高可用解决方案。
1、可用主从复制解决方案
这是解决方MySQL自身提供的一种高可用解决方案,数据同步方法采用的是MySQL replication技术。MySQL replication技术就是一个日志的b2b信息网复制过程,在复制过程中一台服务器充当主服务器,而一台或多台其他服务器充当从服务器,简单说就是,从服务器到主服务器拉取二进制日志文件,然后再将日志文件解析成相应的SQL在从服务器上重新执行一遍主服务器的操作,通过这种方式保证数据的一致性。
MySQL replication技术仅仅提供了日志的同步执行功能,而从服务器只能提供读操作,并且当主服务器发生故障时,必须手动处理failover,通常的做法是将一台从服务器更改为主服务器。这种解决方案在一定程度上实现了MySQL的高可用性,可以实现90.000%的SLA。
为了达到更高的可用性,在实际的应用环境中,一般都采用MySQL replication技术配合高可用集群软件来实现自动failover,这种方式可以实现95.000%的SLA。
2、MMM高可用解决方案
MMM(Master-Master Replication Manager for MySQL)MySQL主主复制管理器,提供了MySQL主主复制配置的云服务器提供商监控、故障转移和管理的一套可伸缩的脚本套件。在MMM高可用解决方案中,典型的应用是双主多从架构,通过MySQL replication技术可以实现两台服务器互为主从,且在任何时候只有一个节点可以写入,避免多点写入的数据冲突。同时,当可写的主节点故障时,MMM套件可以立刻监控到,然后将服务自动切换到另一个主节点,继续提供服务,从而实现MySQL的高可用。
MMM方案是目前比较成熟的MySQL高可用解决方案,可以实现99.000%的SLA。
3、Heartbeat/SAN高可用解决方案
此解决方案是借助第三方软硬件实现的,在这个方案中,处理failover的方式是高可用集群软件Heartbeat,站群服务器它监控和管理各个节点间连接的网络,并监控集群服务,当节点出现故障或者服务不可用时,自动在其他节点启动集群服务。
在数据共享方面,通过SAN存储来共享数据,在正常状态下,集群主节点将挂载存储进行数据读写,而当集群发生故障时,Heartbeat会首先通过一个仲裁设备将主节点挂载的存储设备释放,然后在备用节点上挂载存储,接着启动服务,通过这种方式实现数据的共享和同步。这种数据共享方式实现简单,但是成本较高,并且存在脑裂的可能,需要根据实际应用环境来选择。这种方案可以实现99.990%的SLA。
4、Heartbeat/DRBD高可用解决方案
这种高可用解决方案也是借助第三方软硬件实现的,在处理failover的方式上依旧采用Heartbeat,不同的是,在数据共享方面,采用了基于块级别的数据同步软件DRBD来实现。
DRBD(Distributed Replicated Block Device)是一个用软件实现的、无共享的、服务器之间镜像块设备内容的存储复制解决方案。和SAN网络不同,它并不共享存储,而是通过服务器之间的网络复制数据。这种方案实现起来稍微复杂,同时也存在脑裂的问题,可以实现99.900%的SLA。
5、MySQL Cluster高可用解决方案
MySQL Cluster由一组服务节点构成,每个服务节点上均运行着多种进程,包括MySQL服务器、NDB Cluster的数据节点、管理服务器,以及(可能)专门的数据访问程序。此解决方案是MySQL官方主推的技术方案,功能强大,但是由于实现较为繁琐,配置麻烦,企业实际应用并不多。MySQL Cluster的标准版和电信版可以达到99.999%的SLA。
很赞哦!(6)
相关文章
- 在众多公司中,如果我们必须选择一家可信的公司,那当然是信得过的。
- 听说后端的你在学 React
- 如何给域名续费?域名续费注意什么?
- 网站可以有多少二级域名?网站如何创建二级域名?
- .net 适用于从事Internet相关的网络服务的机构或公司
- 一日一技:使用Python翻译HTML中的文本字符串
- Pod无限重启,Minio数据迁移,字典数据插入指南
- 注册域名要准备的资料和域名注册常见问题
- 当投资者经过第二阶段的认真学习之后又充满了信心,认为自己可以在市场上叱咤风云地大干一场了。但没想到“看花容易绣花难”,由于对理论知识不会灵活运用.从而失去灵活应变的本能,就经常会出现小赢大亏的局面,结果往往仍以失败告终。这使投资者很是困惑和痛苦,不知该如何办,甚至开始怀疑这个市场是不是不适合自己。在这种情况下,有的人选择了放弃,但有的意志坚定者则决定做最后的尝试。
- SpringCloud 微服务中网关如何记录请求响应日志?
站长推荐
在此期间,他们每天仍在这里卖大米,在理财方面个人感情有待提高。因为现在是收米的最佳时机。
域名注册要注意哪些问题?新手申请域名要知道什么?
大文件怎样实现快速上传?
过期删除域名的准确时间是什么时候?
其次,一般域名注册有一个获取密码的按钮,域名注册商点击后会向您发送密码。在得到域名注册商发送的密码后,将其传输到域名服务提供商网站,然后输入密码,此时域名呈现申请状态。提交申请后,原注册人通常会向您发送一封电子邮件,询问您是否同意转让。此时,您只需点击同意转移按钮,域名注册商就可以成功转移。
不同级数的域名如何优化?有什么方法?
Qt+GDAL开发笔记(一):在windows系统mingw32编译GDAL库、搭建开发环境和基础Demo
老外总结的14条Go接口最佳实践,有些不一样