养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

常见的MYSQL高可用解决方案

时间:2024-11-02 20:24:44

MySQL是一种关系数据库管理系统,关联数据库将数据保存在粲茸锿枋不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并枞绶晷箜提高了灵活性。MySQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。

常见的MYSQL高可用解决方案

工具/原料

计算机操作系统

MySQL

方法/步骤

1、主从复制解决方案:这是M鲻戟缒男ySQL自身提供的一种高可用解决方案,数据同步方法采用的是MySQLreplication技术。MySQLreplica墉掠载牿tion就是从服务器到主服务器拉取二进制日志文件,然后再将日志文件解析成相应的SQL在从服务器上重新执行一遍主服务器的操作,通过这种方式保证数据的一致性。为了达到更高的可用性,在实际的应用环境中,一般都是采用MySQLreplication技术配合高可用集群软件keepalived来实现自动failover,这种方式可以实现95.000%的SLA。

常见的MYSQL高可用解决方案

2、MMM/MHA高可用解决方案:MMM提供了MySQL主主复制洧粽袄淖配置的监控、故障转移和管理的一套可伸缩的脚本套件。在MMM高可用方案中,典型的应用是双主多从架构,通过MySQLreplica墉掠载牿tion技术可以实现两个服务器互为主从,且在任何时候只有一个节点可以被写入,避免了多点写入的数据冲突。同时,当可写的主节点故障时,MMM套件可以立刻监控到,然后将服务自动切换到另一个主节点,继续提供服务,从而实现MySQL的高可用。

常见的MYSQL高可用解决方案

3、Heartbeat/SAN高可用解决方案:在这个方案中,处理failover的方式是高可用集群软件Heartbeat,它监控和管理各个节点间连接的网络,并监控集群服务,当节点出现故障或者服务不可用时,自动在其他节点启动集群服务。在数据共享方面,通过SAN(StorageAreaNetwork)存储来共享数据,这种方案可以实现99.990%的SLA。

常见的MYSQL高可用解决方案

4、Heartbeat/DRBD高可用解决方案:此方案处理failover的方式上依旧采用Heartbeat,不同的是,在数据共享方面,采用了基于块级别的数据同步软件DRBD来实现。DRBD是一个用软件实现的、无共享的、服务器之间镜像块设备内容的存储复制解决方案。和SAN网络不同,它并不共享存储,而是通过服务器之间的网络复制数据。

常见的MYSQL高可用解决方案

5、NDBCLUSTER:国内用NDB集群的公司非常少,貌似有些银行有用。NDB集群不需要依赖第三方组件,全部都使用官方组件,能保证数据的一致性,某个数据节点挂掉,其他数据节点依然可以提供服务,管理节点需要做冗余以防挂掉。缺点是:管理和配置都很复杂,而且某些SQL语句例如join语句需要避免。

常见的MYSQL高可用解决方案

6、使用第三方的Tungsten软件:使用java编写,不是MYSQL内置的,同样是MYSQL数据库复制,不过他不是用MYSQL内置的组件来做的,不但支持MYSQL数据库复制也支持异构数据库的复制,而且对异构数据库复制支持较好,例如MYSQL复制到ORACLE。

常见的MYSQL高可用解决方案

© 一点知识