MySQL 主从复制配置 + MySQL Router 部署使用测试(4)

1、读写分离测试

读写分离是通过在配置文件中配置的不同端口实现

由于MySQLrouter节点未安装mysql客户端程序,所以在mysqldb1节点测试

登录写节点:端口7001

mysql  -h  192.168.1.47  -u  yangchao  -p -P 7001

MySQL 主从复制配置 + MySQL Router 部署使用测试

登录读节点:端口7002

mysql  -h  192.168.1.47  -u  yangchao  -p -P 7002

MySQL 主从复制配置 + MySQL Router 部署使用测试

由上测试可知:两次从7002读取端口登录的主机节点都是在配置文件中配置的只读节点。

2、读取复制均衡测试

登录读节点:端口7002

mysql  -h  192.168.1.47  -u  yangchao  -p -P 7002

MySQL 主从复制配置 + MySQL Router 部署使用测试

MySQL 主从复制配置 + MySQL Router 部署使用测试

由上测试的4次通过登录读取端口7002可知,分别在mysqldb2,mysqldb3两个读取节点间轮询访问,实现了读取操作的复制均衡功能。

3、高可用测试

1)、读取节点的高可用性:

先关闭读取节点mysqldb2

MySQL 主从复制配置 + MySQL Router 部署使用测试

mysql  -h  192.168.1.47  -u yangchao  -p  -P  7002

MySQL 主从复制配置 + MySQL Router 部署使用测试

由上测试可知:两次的7002端口登录都是在存活节点mysqldb3上。

2)、读写节点的高可用性:

修改配置文件,为读写节点配置如下:

[routing:read_write]

bind_address = 192.168.1.47

bind_port = 7001

mode = read-write

destinations = 192.168.1.41:3306,192.168.1.42:3306

停止读写节点 mysqldb1

MySQL 主从复制配置 + MySQL Router 部署使用测试

登录 7001 端口:

MySQL 主从复制配置 + MySQL Router 部署使用测试

登录的是 mysqldb2 节点实例

插入记录测试:

MySQL 主从复制配置 + MySQL Router 部署使用测试

能成功插入数据。

在读取节点查看记录是否同步:

mysql  -h  localhost  -u  yangchao  -p  -P 3306  -S  /tmp/mysql3306.sock

MySQL 主从复制配置 + MySQL Router 部署使用测试

由上测试可知:读写的主节点可以实现故障切换,但并不能实现其复制角色色转变。

注:

1、在重新启动mysqldb1 节点实例服务后,再登录读写节点时也并不能登录到mysqldb1实例了,需要重新启动mysqlrouter服务后,方能实现登录读写节点是mysqldb1节点主机。

2、由于其复制均衡采用的是轮询的方式,经测试爱多个从节点中某个实例故障后,mysqlrouter仍然会轮询访问该故障节点,所以其仅实现的简单轮询负载而已,不能对节点状态实时监控。

3、本测试案例未考虑mysqlrouter的高可用性,其高可用性的实现可以使用keepalived。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/6665a3b2ad5176e5ef7dd835fc0accde.html