设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 手机 数据 公司
当前位置: 首页 > 服务器 > 安全 > 正文

MaxScale:实现MySQL读写分离与负载均衡的中间件利器(2)

发布时间:2021-01-08 08:12 所属栏目:53 来源:网络整理
导读:登录 MaxScale 管理器,查看一下数据库连接状态,默认的用户名和密码是 admin/mariadb. maxadmin user=admin password=mariadb MaxScale list servers 可以看到,MaxScale 已经连接到了 master 和 slave. (5)测试 先在

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

maxadmin –user=admin –password=mariadb

MaxScale> list servers

可以看到,MaxScale 已经连接到了 master 和 slave.

(5)测试

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

mysql> grant ALL PRIVILEGES on *.* to rtest@”%” Identified by “222221”;

使用 Mysql 客户端到连接 MaxScale

mysql -h MaxScale所在的IP -P 4006 -u rtest -p222221

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

开启事务后,就自动路由到了 master,普通的查询操作,是在 slave上

MaxScale 的配置完成了.

4、MaxScale 在?slave 有故障后的处理

前面已经介绍了 MaxScale可以实现MySQL的读写分离和读负载均衡,那么当 slave 出现故障后,MaxScale 会如何处理呢?

例如有 3 台数据库服务器,一主二从的结构,数据库名称分别为 master,slave1,slave2.

现在我们实验以下两种情况:

(1)当一台从服务器( slave1 或者 slave2 )出现故障后,查看 MaxScale 如何应对,及故障服务器重新上线后的情况

(2)当两台从服务器( slave1 和 slave2 )都出现故障后,及故障服务器重新上线后的情况

准备

为了更深入的查看 MaxScale 的状态,需要把 MaxScale 的日志打开:

修改配置文件

vi /etc/maxscale.cnf

?找到 [maxscale] 部分,这里用来进行全局设置,在其中添加日志.

配置?

log_info=1logdir=/tmp/

通过开启 log_info 级别,可以看到 MaxScale 的路由日志.

修改配置后,重启 MaxScale .

实验过程

1、单个 slave 故障的情况

?初始状态是一切正常.

停掉 slave2 的复制,登录 slave2 的 mysql 执行.

mysql> stop slave;

查看 MaxScale 服务器状态

slave2 已经失效了.

查看日志信息

cat /tmp/maxscale1.log

尾部显示:

2016-08-15 12:26:02 ? notice : Server changed state: slave2[172.17.0.4:3306]: lost_slave

提示 slave2 已经丢失.

查看客户端查询结果:

查询操作全都转到了 slave1.

可以看到,在有 slave 故障后,MaxScale 会自动进行排除,不再向其转发请求.

下面看下 slave2 再次上线后的情况.

登录 slave2 的 MySQL 执行

mysql> start slave;

查看 MaxScale 服务器状态

slave2 已经失效了.

查看日志信息

cat /tmp/maxscale1.log

尾部显示:

2016-08-15 12:26:02 ? notice : Server changed state: slave2[172.17.0.4:3306]: lost_slave

提示 slave2 已经丢失.

查看客户端查询结果:

查询操作全都转到了 slave1.

可以看到,不再向其转发请求.

下面看下 slave2 再次上线后的情况.

登录 slave2 的 MySQL 执行

mysql> start slave;

查看 MaxScale 服务器状态

恢复了正常状态,重新识别到了 slave2.

查看日志信息,显示:

2016-08-15 12:32:36 ? notice : Server changed state: slave2[172.17.0.4:3306]: new_slave

查看客户端查询结果:

 

slave2 又可以正常接受查询请求.

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读