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

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

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

相关推荐
零炻大礼包40 分钟前
【SQL server】数据库远程连接配置
数据库
zmgst1 小时前
canal1.1.7使用canal-adapter进行mysql同步数据
java·数据库·mysql
令狐少侠20111 小时前
explain执行计划分析 ref_
mysql
随心............1 小时前
python操作MySQL以及SQL综合案例
数据库·mysql
€☞扫地僧☜€1 小时前
docker 拉取MySQL8.0镜像以及安装
运维·数据库·docker·容器
CopyDragon1 小时前
设置域名跨越访问
数据库·sqlite
xjjeffery1 小时前
MySQL 基础
数据库·mysql
其乐无涯1 小时前
服务器技术(一)--Linux基础入门
linux·运维·服务器
Diamond技术流1 小时前
从0开始学习Linux——网络配置
linux·运维·网络·学习·安全·centos
写bug的小屁孩1 小时前
前后端交互接口(三)
运维·服务器·数据库·windows·用户界面·qt6.3