- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在实际的应用中,数据库是非常重要和关键的一个环节。在保障数据库安全的同时,提高应用性和缩短出故障后的恢复时间,也同等重要。特别是在一些持续性和实时性要求高的应用中,故障一小时,可能会让你损失几千到几万甚至更高。
本方案致力于数据库实时备份,并且在故障发生后以最短的时间恢复和修复。
在mysql数据库的备份应用中,主从复制结构是应用的比较广泛,数据同步和实时性都很高,基本上能满足大部分的需求。
本方案基于主从复制结构的基础上,当主库出现故障时,从库能自动接管主库的功能,向外提供服务,且将自身设置为主库,将这个故障时间和影响缩短至最小,5秒内可切换完成。待原主库修复后,会自动进入从库的备份角色,如此循环。
在本方案的实现中,有两种方法且均基于mysql的主从结构中:
1、 高可用(High Availability)HA集群,用heartbeat实现及增加了故障后的恢复功能。
2 、同样是高可用,只是是自己编写脚本程序来监控,切换,恢复。
在方法1中,使用稳定的heartbeat开源软件实现,但此方法,需要多一个IP对外访问,同时在监控上,是监控机器的状态而不是mysql,有些情况下,机器是好的但mysql服务挂了,这种情况下就不准确了。不过可以修改监控方式或增加对mysql服务的监控。
方法2中,可以不用增加一个对外IP,同时在监控上,可以直接监控mysql的服务,至于稳定性,有待测试。此方法中还有一个问题,就是提供给客户端的数据库连接IP,因为切换后,IP也就变了。如果说更改程序,那不现实。所以,这里可以用域名,不过仍然需要修改域名的IP指向或是修改客户机的 hosts文件。本文使用的是修改DNS的方法,因为DNS是自己配置的,可以灵活操作。
本文分两部分进行说明
第一部分 用 heartbeat 实现的高可用
1环境条件
两个虚拟机(IP:1/92/93),
CentOS5.4,mysql-5.1.37,heartbeat-2.1.3-3
2 安装前的准备
Heartbeat 的工作原理:heartbeat最核心的包括两个部分,心跳监测部分和资源接管部分,心跳监测可以通过网络链路和串口进行,而且支持冗余链路,它们之间相互发送报文来告诉对方自己当前的状态,如果在指定的时间内未受到对方发送的报文,那么就认为对方失效,这时需启动资源接管模块来接管运行在对方主机上的资源或者服务。更多请看官网 /HomePage。
基础系统的安装,mysql的安装(略)
软件下载
/DownloadSoftware
Http:///libnet
/downloads/mysql/5.1.html
3 安装过程(heartbeat)
一般的软件源码安装是./configure –prefix=path;make;make install,本文使用yum安装。
yum install heartbeat
yum install heartbeat-ldirectord
有一点要注意:heartbeat的监测,可以是网络或串口,本文使用网络也就是网卡。
4 配置文档及脚本
1) Heartbeat的三个配置文件ha.cf,authkeys,haresourcesCat Ha.cf
debugfile /var/log/ha-debug
logfile /var/log/ha-log
logfacility local0
keepalive 2
deadtime 5
warntime 10
initdead 10
udpport 694
bcast eth0
auto_failback off
node mysqlm
node mysqls
respawn hacluster /usr/lib/heartbeat/ipfail
apiauth ipfail gid=haclient uid=hacluster
Cat authkeys
auth 1
1 crc
Cat haresources
mysqlm mysql_start1.sh IPaddr::3/32/eth0
复制代码2) mysql_start1.sh脚本 3) 同保证和记录当主机由slave到master转变时记录当前master的文件和位置,需要建一个数据库和表来记录#!/bin/sh
# author:wdlinux
# url:
# description: mysql sta
您可能关注的文档
- multisim考核实验2014.docx
- MurphyvSteeplechaseAmusementCo副本.doc
- MusclemagAusissue84---56两个月增加5-7公斤肌肉.doc
- Music_and_the_Brain_哈工大.doc
- Mutisim安装方法.doc
- Muyfsv公务员考试--科技常识.doc
- MVM7H(5-250)-G2接口关系表.doc
- mvc30入门经典.doc
- MVC3入门中文版教程.doc
- MX4J学习文档.doc
- 2023-2024学年广东省深圳市龙岗区高二(上)期末物理试卷(含答案).pdf
- 2023-2024学年贵州省贵阳市普通中学高一(下)期末物理试卷(含答案).pdf
- 21.《大自然的声音》课件(共45张PPT).pptx
- 2023年江西省吉安市吉安县小升初数学试卷(含答案).pdf
- 2024-2025学年广东省清远市九校联考高一(上)期中物理试卷(含答案).pdf
- 广东省珠海市六校联考2024-2025学年高二上学期11月期中考试语文试题.pdf
- 2024-2025学年语文六年级上册第4单元-单元素养测试(含答案).pdf
- 2024-2025学年重庆八中高三(上)月考物理试卷(10月份)(含答案).pdf
- 安徽省安庆市潜山市北片学校联考2024-2025学年七年级上学期期中生物学试题(含答案).pdf
- 贵州省部分校2024-2025学年九年级上学期期中联考数学试题(含答案).pdf
文档评论(0)