高可用性的MySQL数据库解决方案.docx
《高可用性的MySQL数据库解决方案.docx》由会员分享,可在线阅读,更多相关《高可用性的MySQL数据库解决方案.docx(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、MySQL数据库高可用性方案一、综述数据库位于现代企业应用日勺关键,它储存了组织机构中最有 价值日勺资产,包括客户信息、产品信息、订单信息和历史数 据。此外,组织机构依赖于数据库来运行他们关键业务应 用。几小时甚至是几分钟日勺宕机,往往会导致收入日勺大量流 失和客户日勺不满。因此,保证数据库高可用是所有组织机构 优先考虑的事情。对于但愿在当今瞬息万变日勺经济环境立 于不败之地并获得成功日勺企业来说,构建一种具有高可用性 日勺IT基础架构至关重要。二、完毕目日勺通过技术手段实现mysql数据库日勺高可用性,从而减少停工时间保证服务日勺正常稳定运行。三、方案建设概要1、既有高可用方案分析Mysql
2、作为一款开源软件通过数年日勺发展,已经形成诸多套 实现高可用方案,并且均都投入生产使用,重要为这几种: mysql + replication、mysql + heartbeat + 存储、mysql + drbd + heartbeat、mysql cluster。如下将依次对各个方案 进行分析。2、Mysql+replication2.1 概述respawn hacluster /usr/lib/heartbeat/ipfailapiauth ipfail gid=haclient uid = haclusterhopfudgerootcm5 ha.d# vi haresourcescm5
3、.3IPaddr:192,168.184.200/24/eth0Filesystem:192.168.184.103:/data:/data:nfs mysqldrootcm5 ha.d# vi authkeysauth 11 crcrootcm5 ha.d# chmod 600 authkeys#第四步:测试1、先停掉主备机日勺上面日勺mysql,卸掉nfs日勺挂载。2、/etc/init.d/heartbeat start (主备机双执行)3、可以看到主机日勺虚ip已经起来了、nfs也挂上来了、mysql 服务也已经起来了(其实他们日勺起来日勺次序也是这样日勺,释放资源是反次序,可以看/v
4、ar/log/ha-log日志) 4、主机上写表,断掉主机日勺网卡,主机释放资源,备机起 来,所有日勺都在5、主机网卡起来,资源从备机释放。*第五步:意外状况上面能成功那是由于我日勺表格式是myisam日勺。不过用 innodb却是不成功日勺,主机把网卡断了,备机mysql起不来。 刚开始认为是inndb日勺原因,后来才懂得是nfs日勺锁!(下面日勺是报错日志)/var/log/mysql.logInnoDB: Unable to lock ./ibdatal, error: 11InnoDB: Check that you do not already have anothermysqldp
5、rocessInnoDB: using the same InnoDB data or log files./var/log/ha-logResourceManager25602: 2023/07/16_18:13:10 info:Running /etc/init,d/mysqld startResourceManager25602: 2023/07/16_18:13:41ERROR:Return code 1 from /etc/init.d/mysqldResourceManager25602: 2023/07/16_18:13:41 CRIT:Giving up resources d
6、ue to failure of mysqld处理思绪:1 .修改了 mysql.sock文献寄存日勺途径不能所有放在共享日勺分 区里面。(修改my f)2 .既然修改mysql.sock途径就得修改启动脚本日勺里面日勺配 置,详情见最终。4 .在/etc/ha.d/resource.d/里面添加了一文献nfs ,重要作用 就是设置 nfs日勺mountroottest2 resource.d# more nfs#!/bin/shunset LC_ALL; export LC_ALLunset LANGUAGE; export LANGUAGEcase $工instart)/bin/mount
7、 -onolock 192.168.122.12:/data /var/lib/mysqlpre-start) J Jpost-start) J,stop)/bin/umount /var/lib/mysql ,Jpre-stop) J Jpost-stop) ,J*)echo “Usage: $0 start | pre-start | post-start| stop | pre-stop | post-stop” J Jesacexit 05.测试 我写了一种测试脚本,脚本意思通过建立log表,不停往里 面日勺插数据,数据日勺次序依次是0、1、2lOOOOo roottestl -# m
8、ore test.sh#!/bin/bashi=0while $i -It 10000 domysql -socket=/tmp/mysql.sock -e insert intocm.log values ( $i)” ;let i=i+lecho add $i to table logdone此时在主机上面执行这个脚本,如下所示开始往数据库日勺 log表里面插入数据了roottestl -# ./test.shadd 1 to table logadd 2 to table logadd 3 to table logadd 4 to table logadd 5 to table loga
9、dd 6 to table log add 2026 to table log到了插入到第2026日勺时候,断开主机日勺网卡。查看备机mysql日勺log日志,看到备机日勺mysql日勺会有一种 inndb检查修复日勺操作。很快备机日勺mysql服务就起来了。roottest2 -#tail -f /var/log/mysql.log100716 22:12:23 mysqld started100716 22:12:23 InnoDB: Database was not shut down normally!InnoDB: Starting crash recovery.InnoDB: Re
10、ading tablespace information from the .ibdfiles. InnoDB: Restoring possible half-written data pagesfrom the doublewriteInnoDB: buffer.100716 22:12:24 InnoDB: Starting log scan based on checkpoint atInnoDB: log sequence number 0 17445609.InnoDB: Doing recovery: scanned up to log sequencenumber 0 1745
11、1961100716 22:12:25 InnoDB: Starting an apply batch of log records to the database.InnoDB: Progress in percents: 29 30 31 32 33 34 35 3637 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 6263 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 8889 90 91 9
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可用性 MySQL 数据库 解决方案
限制150内