23、mysql高可用实践
23.1、mysql高可用业务需求:
23.2、mysql高可用架构图(单主热备模式):
23.6、部署drbd、heartbeat、mysql的主从同步:
1、部署heartbeat:参考"21、部署herartbeat"文档;
2、部署drbd:参考"22、部署drbd"文档;
3、heartbeat和drbd整合:参考"22.17、heartbeat和drbd整合"文档;
3、部署mysql同步:参考"14、mysql主从复制实战"、"3、mysql的多实例配置"文档;
23.7、配置细节说明:
停止主和从的heartbeat和drbd服务;
1、heartbeat:
(1)修改maste-db和slave-db的/etc/ha.d/haresource配置文件:
(2)master-db IPaddr::172.16.1.26/24/eth1 drbddisk::data Filesystem::/dev/drbd0::/master-db::ext4 mysql
2、drbd:
(1)启动master-db和slave-db上的drbd服务;
(2)使用'drbdadm primary data'将master-db端的drdb服务置主;
(3)手动挂载master-db端的'/dev/drbd0'设备到'/master-db/'目录上;
3、mysql:
(1)在master-db和slave-db相同的路径下安装mysql软件;
(2)master-db端在/master-db/目录下面初始化mysql并指定data目录为/master-db/,为mysql创建登录密码,启动mysql测试;
此时在master-db的操作都同步到了slave-db端的/dev/drbd0管理的/dev/sdb1系统分区下面;slave-db端只要保证有/master-db/目录即可;
[root@master-db ~]#tree /master-db/
/master-db/
├── 3306
│ ├── my.cnf
│ └── mysql
│ └── data
└── lost+found
2 directories, 3 files
(3)在master-db端和slave-db端将mysql脚本拷贝到/etc/ha.d/resource.d/目录下面,方便heartbeat管理mysql,要加执行的权限;
(4)为了方便测试在slave-db端安装端口为3307的mysql多实例进行测;
23.8、测试:
停止master-db和slave-db上的mysql、heartbeat、drbd服务;
1、启动顺序:
(1)master-db:
1)drbdadm up data
2)/etc/init.d/heartbeat start
(2)slave-db:
1)drbdadm up data
2)/etc/init.d/heartbeat start
3)/data/3307/mysql start
2、结果:
(1)master-db:
1)df -h
Filesystem Size Used Avail Use% Mounted on
/dev/drbd0 4.5G 1.4G 2.9G 33% /master-db
2)cat /proc/drbd
0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r-----
ns:12 nr:0 dw:4 dr:817 al:1 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
3)ip addr
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:5c:f0:d0 brd ff:ff:ff:ff:ff:ff
inet 172.16.1.16/24 brd 172.16.1.255 scope global eth1
inet 172.16.1.26/24 brd 172.16.1.255 scope global secondary eth1
inet6 fe80::20c:29ff:fe5c:f0d0/64 scope link
valid_lft forever preferred_lft forever
4)ss -tunlp | grep 3306
tcp LISTEN 0 600 *:3306 *:* user
(2)slave-db:
1)ip addr、df -h、ss -tunlp | grep 3306无结果:
2)cat /proc/drbd
0: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r-----
ns:12 nr:0 dw:4 dr:817 al:1 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
3)查看3307主从同步结果:
show slave status\G;
3、master-db和slave-db进行切换:
(1)在master-db上执行'/usr/share/heartbeat/hb_standy'命令将资源交给slave-db端,
此时结果和上面的结果想法;此时会发现slave-db端的3307 mysql实例在show slave status\G;状态时
会出现正在尝试连接主端,等待60s就可以了,在等待的60s期间由于vip已经漂移到了salve-db端,磁盘
已经挂载(drbd此端为主,对端为从),mysql启动,所以用户还是可以往数据库中写数据的;
(2)在主端执行'/usr/share/heartbeat/hb_takeover local'master-db从slave-db接管回资源;
4、关闭顺序:
(1)slave-db:
/data/3307/mysql stop
/etc/init.d/heartbeat stop
drbdadm down data
(2)master-db:
/etc/init.d/heartbeat stop
drbdadm down data
23、mysql高可用实践的更多相关文章
- (5.15)mysql高可用系列——MHA实践
关键词:MHA,mysql mha [1]需求 采用mysql技术,实现MHA高可用主从环境,预计未来数据量几百G MHA概念参考:MYSQL高可用技术概述 [2]环境技术架构 [2.1]MHA简介 ...
- MySQL高可用方案MHA自动Failover与手动Failover的实践及原理
集群信息 角色 IP地址 ServerID 类型 Master ...
- MySQL高可用复制管理工具 —— Orchestrator使用
背景 在上一篇「MySQL高可用复制管理工具 —— Orchestrator介绍」中大致介绍了Orchestrator的功能.配置和部署,当然最详细的说明可以查阅官方文档.本文开始对Orchestra ...
- MySQL高可用之MHA的搭建 转
http://www.cnblogs.com/muhu/p/4045780.html http://www.cnblogs.com/gomysql/p/3675429.html http://www ...
- mysql高可用方案MHA介绍
mysql高可用方案MHA介绍 概述 MHA是一位日本MySQL大牛用Perl写的一套MySQL故障切换方案,来保证数据库系统的高可用.在宕机的时间内(通常10-30秒内),完成故障切换,部署MHA, ...
- Heartbeat+DRBD+MySQL高可用方案【转】
转自Heartbeat+DRBD+MySQL高可用方案 - yayun - 博客园 http://www.cnblogs.com/gomysql/p/3674030.html 1.方案简介 本方案采用 ...
- MySQL高可用方案MHA的部署和原理
MHA(Master High Availability)是一套相对成熟的MySQL高可用方案,能做到在0~30s内自动完成数据库的故障切换操作,在master服务器不宕机的情况下,基本能保证数据的一 ...
- MySQL高可用之MHA的搭建
MySQL MHA架构介绍: MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Face ...
- mysql高可用架构之MHA,haproxy实现读写分离详解
MySQL高可用架构之MHA 一.运维人员需要掌握的MySQL技术: 1.基本SQL语句 2.基本的管理[库表数据的管理 权限的管理] 3.容灾 保证数据不丢失. 二.工作中MySQ ...
随机推荐
- [bug] sqlalchemy.exc.InternalError: (pymysql.err.InternalError) (1054, "Unknown column 'recevie_name' in 'field list'")
Python Flask 开发购物网站,提交订单时报错 根据提示,检查代码,发现是字段名拼写错误导致,数据库对应的字段是receive_name,误写成了recevie_name 另外要注意,灰色字和 ...
- 用 set follow-fork-mode child即可。这是一个 gdb 命令,其目的是告诉 gdb 在目标应用调用fork之后接着调试子进程而不是父进程,因为在 Linux 中fork系统调用成功会返回两次,一次在父进程,一次在子进程
GDB的那些奇淫技巧 evilpan 收录于 Security 2020-09-13 约 5433 字 预计阅读 11 分钟 709 次阅读 gdb也用了好几年了,虽然称不上骨灰级玩家,但 ...
- 保姆级别的RabbitMQ教程!一看就懂!(有安装教程,送安装需要的依赖包,送Java、Golang两种客户端教学Case)
保姆级别的RabbitMQ教程!一看就懂!(有安装教程,送安装需要的依赖包,送Java.Golang两种客户端教学Case) 目录 什么是AMQP 和 JMS? 常见的MQ产品 安装RabbitM ...
- Chrome 红色和 Chromium蓝色 区别:logoChrome 红色和 Chromium蓝色;Chrome闭源和 Chromium开源;
我们知道Chromium采用的BSD开源协议(Chromium首页.文档和下载),google chrome是闭源的("9.2 根据第 1.2 条规定,除非法律明确允许或要求,或经谷歌明确书 ...
- python基础之面向对象(三))(实战:烤地瓜(SweetPotato))
一.分析"烤地瓜"的属性和方法 示例属性如下: cookedLevel : 这是数字:0~3表示还是生的,超过3表示半生不熟,超过5表示已经烤好了,超过8表示已经烤成木炭了!我们的 ...
- Apache Flink 1.12.0 正式发布,DataSet API 将被弃用,真正的流批一体
Apache Flink 1.12.0 正式发布 Apache Flink 社区很荣幸地宣布 Flink 1.12.0 版本正式发布!近 300 位贡献者参与了 Flink 1.12.0 的开发,提交 ...
- mysql数据库-备份与还原-Percona XtraBackup 2.4备份工具使用
目录 xtrabackup 特点 备份生成的相关文件 xtrabackup 安装 xtrabackup 用法 1 备份 2 预备份 3 还原 4 其他 还原注意事项 xtrabackup实现完全备份及 ...
- 华为MDC软件架构
华为MDC软件架构 平台软件零层逻辑架构如下图,由基础层.功能层.应用层和服务层组成. 零层逻辑架构 从平台软件一层逻辑架构可以看出,MDC用了华为自研的越影操作系统.兼容Autosar标准的软件中间 ...
- TensorFlow分布式详解
每次 TensorFlow 运算都被描述成计算图的形式,允许结构和运算操作配置所具备的自由度能够被分配到各个分布式节点上.计算图可以分成多个子图,分配给服务器集群中的不同节点. 强烈推荐读者阅读论文& ...
- Halide视觉神经网络优化
Halide视觉神经网络优化 概述 Halide是用C++作为宿主语言的一个图像处理相关的DSL(Domain Specified Language)语言,全称领域专用语言.主要的作用为在软硬层面上( ...