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

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

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负载均衡器宕机,再用客户端登陆,发现任然能登陆数据库。

相关推荐
JavaPub-rodert4 小时前
服务器不能访问 Docker Hub,镜像怎么搬过去?讲透 docker save、load、export、import 与离线镜像分发
运维·服务器·docker
for_ever_love__4 小时前
MySQL 索引类型全解:B+Tree / Hash / R-Tree / 全文 的底层差异,以及一次性建对的选型表
数据库·mysql·b+树·唯一索引·全文索引·索引类型·索引分类
仍然.12 小时前
Redis---缓存
数据库·redis·缓存
Aloudata13 小时前
LookML 语义模型 vs 企业级独立语义层:BI 建模语言能否承担企业语义底座?
数据库·人工智能·数据分析·数据资产·dataagent
程序员-Benothing13 小时前
Vim编辑器从入门到精通:模式、快捷键、配置、插件
linux·运维·服务器
细嗅蔷薇@13 小时前
排序和分⻚(order by 、limit)
数据库·oracle
m0_6464299713 小时前
Docker 完整核心知识点总结(超通俗易懂版)
运维·docker·容器
wdfk_prog13 小时前
LWIP教程 09:从 `tcp_slowtmr()` 到 Fast Retransmit——TCP 超时重传与重复 ACK
服务器·网络·数据库·网络协议·tcp/ip
逸模13 小时前
BIM在连锁餐饮装修中的应用:不只是画三维图
大数据·数据库·人工智能·物联网·建模
梦想平凡13 小时前
棋牌游戏技术实战(五):从对局事件重新执行规则,核对棋盘和最终状态
数据库·游戏·oracle