数据库的负载均衡,高可用实验

一 高可用负载均衡集群数据库实验

1.实验拓扑图

2.实验准备(同一LAN区段)(ntp DNS)

客户端:IP:192.168.1.5 下载:MariaDB

负载均衡器:IP:192.168.1.1 下载:keepalived ipvsadm

IP:192.168.1.2 下载:keepalived ipvsadm

服务器:IP:192.168.1.3 下载MariaDB-Galera-server

IP:192.168.1.4 下载MariaDB-Galera-server

3.配置服务器

A web1:在/mnt/下新建一个mysql的目录,在将rpms与repodata拖到此目录下

web2:#scp -r 192.168.1.3:/mnt/mysql /mnt/

B web1:配置yum源

#vim /etc/yum.repos.d/y.repo

y

name = y

baseurl =file:///mnt/mysql

enabled=1

gpgcheck=0

web2:#scp 192.168.1.3:/etc/yum.repo.d/y.repo /etc/yum.repos.d/

C下载MariaDB-Galera-server(web1/2)

#yum --enablerepo=y -y install MariaDB-Galera-server

D编辑配置文件

Web1:#vim /etc/my.cnf.d/server.cnf

E启动集群

Web1:#/etc/rc.d/init.d/mysql bootstrap

F配置 mysql 的基本设置

Web1:#mysql_secure_installation

G配置web2(内容同一致,改IP地址就行)

#scp 192.168.1.3:/etc/my.cnf.d/server.cnf /etc/my.cnf.d/

#vim /etc/my.cnf.d/server.cnf

F启动服务(web1/2)

#systemctl start mysql

G验证集群是否搭建成功

在web1上登陆数据库新建一个test的数据库

#mysql -uroot -p123

>create database test;

在web2上登入

#mysql -uroot -p123

>select databases; 看到test则建立成功

4.配置LVS

A下载软件(LVS主/备)

#yum -y install keepalived ipvsadm

B编辑配置文件(LVS主)

#vim /etc/keepalived/keepalived.conf

#vim lvs.sh

C LVS备

#scp 192.168.1.1:/etc/keepalived/keepalived.conf /etc/keepalived/

#scp 192.168.1.1:/root/lvs.sh ./

#vim /etc/keepalived/keepalived.conf

D在web1/2上

#vim web.sh

#scp 192.168.1.3:/root/web.sh ./

Web1/2:#bash web.sh

Web1/2:#ifconfig

D启动服务,运行脚本

LVS主/备:#systemctl restart keepalived

#bash lvs.sh

5客户端

#yum groups install mariadb mariadb-client -y

6验证高可用负载均衡集群数据库

A在服务端登陆数据库

#mysql -uroot -p123

B新建一个用户,给与此用户对所有客户端拥有访问test数据库的权限

>grant all privileges on test.* to yi identified by 123;

查看yi用户权限

> select user,host,password from user;

C在客户端用yi用户登陆

#mysql -uyi -p123 -h 192.168.1.88

D在web1服务器端查看

>show processlist;

在web2服务器查看

>show processlist;

在客户端退出数据库后再登陆则会发现两个服务器查询结果会互换;让其中一台LVS负载均衡器宕机,再用客户端登陆,发现任然能登陆数据库。

相关推荐
画中有画5 小时前
使用yolov8实现自动化脚本
运维·yolo·自动化
白帽小丑6 小时前
# 一次 MySQL DELETE 误操作的数据恢复尝试实录
数据库·mysql
Dxy12393102167 小时前
MySQL索引完整教程:创建、查看、修改、删除与日常管理
前端·javascript·mysql
Piko6147 小时前
H3C IRF2 堆叠实战:打造高可靠核心交换网络
运维·网络·笔记
Quincy_Freak8 小时前
信创内网数据规范实践:银河麒麟下SQLite本地数据安全管理方案
数据库·sqlite·arm·数据库管理·大数据分析·银河麒麟·aarch64
至乐活着9 小时前
MySQL索引底层原理与查询优化实战:从B+树到执行计划
mysql·b+树·查询优化·sql性能·索引原理
万联WANFLOW10 小时前
SD-WAN 控制平面高可用怎么做?SDWAN 控制器挂了,全网会发生什么
运维·网络·分布式·架构
2601_9626838910 小时前
治理遗留系统中的“生肉 SQL”:一次用多模型协作优化慢查询的实战复盘
数据库·人工智能·sql
酱学编程11 小时前
【从零到一实现一个 AI Agent 框架 · 第四篇】04. 任务规划:拆解复杂目标 -
服务器·网络·数据库·人工智能
shushangyun_12 小时前
2026智能采购商城系统选型指南:如何引领企业数字化采购升级
java·大数据·数据库·人工智能·机器学习