mycat2读写分离select是否随机获取库问题
目前模式是一主多从
A主库 B、C从库
A是可读可写模式
BC是只读模式
当我在mycat执行select的时候,mycat是从哪个库里面取数据呢?是随机在三个库上取吗?
1.你可以修改MySQL的配置文件:my.cnf
,设置logbin格式binlog_format=STATEMENT
,重启MySQL,向数据表插入系统变量值:INSERT INTO tb VALUES(1,@@hostname);
,以此造成主从数据不一致,就可以验证读写分离
2.负载均衡策略readBalanceType
值默认是:BALANCE_ALL
,即获取集群中所有数据源进行读,所以不出意外,你这里应该是随机在三个库上读取。
3.readBalanceType负载均衡策略支持如下:
BALANCE_ALL(默认值):获取集群中所有数据源
BALANCE_ALL_READ:获取集群中允许读的数据源
BALANCE_READ_WRITE:获取集群中允许读写的数据源,但允许读的数据源优先
BALANCE_NONE:获取集群中允许写数据源,即主节点中选择