安装 MaxScale

MaxScale只在一台虚拟机上上安装就好,我安装到了slave2上

我的虚拟机时


192.168.1.101 master
192.168.1.102 slave1
192.168.1.103 slave2

1.环境准备,先把主从复制启动

https://blog.csdn.net/weixin_45955039/article/details/124196627?spm=1001.2014.3001.5501

2.以 centos 7 为例安装。下载安装包

https://downloads.mariadb.com/MaxScale/2.1.2/centos/7/x86_64/

在这里插入图片描述

3.安装依赖

yum install libaio.x86_64 libaio-devel.x86_64 novacom-server.x86_64 libedit -y

4.上传maxscale-2.1.2-1.centos.7.x86_64.rpm包

5.安装

 rpm -ivh maxscale-2.1.2-1.centos.7.x86_64.rpm

6.配置MaxScale

6.1创建监控用户,确认主从服务正常

create user 'maxmon'@'%' identified by '123456';
grant replication slave,replication client on *.* to 'maxmon'@'%';

6.2创建监控用户,确认主从服务有可用用户

create user 'maxrou'@'%' identified by '123456';
grant select on mysql.* to 'maxrou'@'%';
flush privileges;

6.3修改maxscale配置文件

vim /etc/maxscale.cnf

6.3.1 找到[server1]修改address,并复制一份[server1]修改address

[server1]
type=server
address=192.168.1.101
port=3306
protocol=MySQLBackend
[server2]
type=server
address=192.168.1.102
port=3306
protocol=MySQLBackend

6.3.2找到 [MySQL Monitor] 部分,修改 servers 为 server1,server2,修改 user 和 passwd 为之前创建的监控用户的信息(maxmon,123456)

[MySQL Monitor]
type=monitor
module=mysqlmon
servers=server1,server2
user=maxmon
passwd=123456
monitor_interval=10000

6.3.3找到 [Read-Write Service] 部分,修改 servers 为 server1,server2,修改 user 和 passwd 为之前创建的路由用户的信息(maxrou,123456)

[Read-Write Service]
type=service
router=readwritesplit
servers=server1,server2
user=maxrou
passwd=123456
max_slave_connections=100%

6.3.4找到以下两个模块删除

在这里插入图片描述
在这里插入图片描述

6.3.5添加端口号是4010

[MaxAdmin Listener]
type=listener
service=MaxAdmin Service
protocol=maxscaled
socket=default
port=4010

7.启动MaxScale

 maxscale --config=/etc/maxscale.cnf

8.查看 MaxScale 的响应端口

netstat -ntelp

在这里插入图片描述

9.登录 MaxScale 管理器,查看一下数据库连接状态,默认的用户名和密码是 admin/mariadb

 maxadmin  -uadmin -pmariadb -P4010

10.查看是否连接master和slave

list servers

在这里插入图片描述

11.测试

11.1先在 master 上创建一个测试用户

create user 'test'@'%' identified by '123456';
grant ALL PRIVILEGES on *.* to 'test'@'%';

11.2、使用 Mysql 客户端到连接 MaxScale

任何一台虚拟机都可以

 mysql -utest -p'123456' -h'192.168.1.103' -P4006

在这里插入图片描述

11.3、执行查看数据库服务器名的操作来知道当前实际所在的数据库

Select @@hostname;
begin;

在这里插入图片描述

11.4 在master插入数据,在slave,在4006 查询可以查到数据。

11.5在slave写入数据,在master查不到,在4006不可以查到数据

猜你喜欢

转载自blog.csdn.net/weixin_45955039/article/details/124201248