首先,本人部署了两个节点,互为主从关系:219.103,219.102
其次,配置mycat,配置如下:
<dataHost name=”localhost1″ maxCon=”1000″ minCon=”10″ balance=”1″
writeType=”0″ dbType=”mysql” dbDriver=”native” switchType=”1″ slaveThreshold=”100″>
<heartbeat>show slave status</heartbeat>
<!– can have multi write hosts –>
<writeHost host=”hostM1″ url=”192.168.219.103:3306″ user=”root”
password=”000000″>
<readHost host=”hostS1″ url=”192.168.219.102:3306″ user=”root”
password=”000000″ />
</writeHost>
<writeHost host=”hostM2″ url=”192.168.219.102:3306″ user=”root”
password=”000000″>
</writeHost>
</dataHost>
然后,登录mycat,建库表,写操作发生在102.节点上
此时,为了测试主从切换,在102节点执行stop。再执行写操作,此时顺利的在103节点上执行写操作。
问题来了,当102节点恢复正常后,没有与103节点数据同步,但是本人在102节点上查看同步状态是正常的,这是为什么?
或mycat的配置怎么修改来实现呢?
其次,配置mycat,配置如下:
<dataHost name=”localhost1″ maxCon=”1000″ minCon=”10″ balance=”1″
writeType=”0″ dbType=”mysql” dbDriver=”native” switchType=”1″ slaveThreshold=”100″>
<heartbeat>show slave status</heartbeat>
<!– can have multi write hosts –>
<writeHost host=”hostM1″ url=”192.168.219.103:3306″ user=”root”
password=”000000″>
<readHost host=”hostS1″ url=”192.168.219.102:3306″ user=”root”
password=”000000″ />
</writeHost>
<writeHost host=”hostM2″ url=”192.168.219.102:3306″ user=”root”
password=”000000″>
</writeHost>
</dataHost>
然后,登录mycat,建库表,写操作发生在102.节点上
此时,为了测试主从切换,在102节点执行stop。再执行写操作,此时顺利的在103节点上执行写操作。
问题来了,当102节点恢复正常后,没有与103节点数据同步,但是本人在102节点上查看同步状态是正常的,这是为什么?
或mycat的配置怎么修改来实现呢?
解决方案
20
主从复制好像不是mycat 实现的吧。
40
刚看了一下mycat:
关键特性
支持SQL92标准
遵守Mysql原生协议,跨语言,跨数据库的通用中间件代理。
基于心跳的自动故障切换,支持读写分离,支持MySQL主从,以及galera cluster。
支持Galera for MySQL集群,Percona Cluster或MariaDB cluster
基于Nio实现,有效管理线程,高并发问题。
支持数据的多片自动路由与聚合,支持sum,count,max等常用的聚合函数。
支持2表join,甚至基于caltlet的多表join。
支持通过全局表,ER关系的分片策略,实现了高效的多表join查询。
支持多租户方案。
支持分布式事务(弱xa)。
支持全局序列号,解决分布式下的主键生成问题。
分片规则丰富,插件化开发,易于扩展。
强大的web,命令行监控。
支持前端作为mysq通用代理,后端JDBC方式支持Oracle、DB2、SQL Server 、 mongodb 、巨杉。
支持密码加密
支持IP白名单
支持SQL黑名单、sql注入攻击拦截
集群基于ZooKeeper管理,在线升级,扩容,智能优化,大数据处理(2.0开发版)。
什么是MYCAT
一个彻底开源的,面向企业应用开发的大数据库集群
支持事务、ACID、可以替代MySQL的加强版数据库
一个可以视为MySQL集群的企业级数据库,用来替代昂贵的Oracle集群
一个融合内存缓存技术、NoSQL技术、HDFS大数据的新型SQL Server
结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品
一个新颖的数据库中间件产品
里面只是说有自动故障切换,没说自动故障恢复
关键特性
支持SQL92标准
遵守Mysql原生协议,跨语言,跨数据库的通用中间件代理。
基于心跳的自动故障切换,支持读写分离,支持MySQL主从,以及galera cluster。
支持Galera for MySQL集群,Percona Cluster或MariaDB cluster
基于Nio实现,有效管理线程,高并发问题。
支持数据的多片自动路由与聚合,支持sum,count,max等常用的聚合函数。
支持2表join,甚至基于caltlet的多表join。
支持通过全局表,ER关系的分片策略,实现了高效的多表join查询。
支持多租户方案。
支持分布式事务(弱xa)。
支持全局序列号,解决分布式下的主键生成问题。
分片规则丰富,插件化开发,易于扩展。
强大的web,命令行监控。
支持前端作为mysq通用代理,后端JDBC方式支持Oracle、DB2、SQL Server 、 mongodb 、巨杉。
支持密码加密
支持IP白名单
支持SQL黑名单、sql注入攻击拦截
集群基于ZooKeeper管理,在线升级,扩容,智能优化,大数据处理(2.0开发版)。
什么是MYCAT
一个彻底开源的,面向企业应用开发的大数据库集群
支持事务、ACID、可以替代MySQL的加强版数据库
一个可以视为MySQL集群的企业级数据库,用来替代昂贵的Oracle集群
一个融合内存缓存技术、NoSQL技术、HDFS大数据的新型SQL Server
结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品
一个新颖的数据库中间件产品
里面只是说有自动故障切换,没说自动故障恢复