前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL多主模型实战

MySQL多主模型实战

作者头像
星哥玩云
发布2022-09-15 19:05:01
3340
发布2022-09-15 19:05:01
举报
文章被收录于专栏:开源部署开源部署

MySQL AB解决了数据备份的问题,但是当A由于某些原因宕机后,WEB服务器就没有办法在往数据库写或者读写了。线上业务中断了,完了,出事故了。这该怎么办呢?

本节课主要给大家讲解如果处理因为MySQL主服务器宕机造成的业务中断问题,保障MySQL业务高可用。

一、实验拓扑图

mysql_aa拓扑图.png
mysql_aa拓扑图.png

二、架构原理

1、MySQL互为主备,保障多台MySQL的数据强一致性。

2、VIP漂移,任何一台宕机都不影响数据读写

3、宕机服务器修复,自动同步故障间的缺失数据

三、实验准备

  • 机器三台并设置好IP地址
  • 关闭防火墙、selinux
  • 时间同步
  • node1、node2安装mysql
  • manage01部署lamp
  • 上线业务并进行容灾测试
  • 知识储备点:MySQL AB复制

四、node1、node2互为主备

代码语言:javascript
复制
1、确认binlog开启
2、设置server-id
3、创建同步mysql用户
4、设置同步

#以node2为例
#创建用户
mysql> create user sko2 identified by "123456";
Query OK, 0 rows affected (0.00 sec)

mysql> grant replication slave on *.* to sko2;
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

#开始同步
#同步前    主服务器生成一个新binlog开始同步,防止之前的binlog中语句无法执行
mysql> stop slave;
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> change master to 
-> master_host='192.168.98.202',
-> master_user='sko',
-> master_password='98989',
-> master_log_file='binlog.000002',
-> master_log_pos=xxx;
Query OK, 0 rows affected, 3 warnings (0.01 sec)

mysql> start slave;
Query OK, 0 rows affected (0.00 sec)

五、manage01-lamp

代码语言:javascript
复制
# 部署lamp业务环境
[root@manage01 ~]# yum -y install httpd php php-mysql
[root@manage01 ~]# systemctl start httpd
[root@manage01 ~]# systemctl start php-fpm
[root@manage01 ~]# vim /var/www/html/phpinfo.php

#测试
<?php phpinfo(); ?>

六、配置MySQL高可用

1、模拟故障,将配有VIP的mysql宕机,手动回收VIP并配给另外一个运行的mysql服务器,查看业务是否正常。

2、恢复宕机mysql,查看宕机过程中的产生的数据是否能够从另外一个运行的mysql中恢复回来。

代码语言:javascript
复制
参考nginx高可用部署
https://www.zutuanxue.com/home/4/58_388

七、上线业务测试

a、拷贝站点

代码语言:javascript
复制
[root@manage01 ~]# cp -r 测试站点html/* /var/www/html/

b、安装站点 打开浏览器输入 http://IP/install.php

c、根据站点提示输入数据并查询,查询数据库数据同步情况

d、停止主mysql继续测试业务,确保正常工作

e、启动宕机mysql,确保停机期间的数据同步

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、实验拓扑图
  • 二、架构原理
  • 三、实验准备
  • 四、node1、node2互为主备
  • 五、manage01-lamp
  • 六、配置MySQL高可用
  • 七、上线业务测试
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档