Linux is not Matrix——MyCat实现读写分离

  MyCAT 可以视为“MySQL”集群的企业级数据库,用来替代昂贵的Oracle集群,其背后是阿里曾经开源的知名产品Cobar。MyCAT的目标是:低成本的将现有的单机数据库和应用平滑迁移到“云”端,解决数据存储和业务规模迅速增长情况下的数据瓶颈问题。
  MyCat可以做的事情很多,它是一款遵守Mysql原生协议,跨语言,跨平台,跨数据库的通用中间件代理。它可以实现基于心跳的自动故障切换,支持读写分离,支持MySQL主从。支持数据的多片自动路由与聚合,支持sum,count,max等常用的聚合函数,支持跨库分页。支持通过全局表,ER关系的分片策略,实现了高效的多表join查询。支持多租户方案。支持分布式事务(弱xa)。

  强大的web,命令行监控。支持前端作为mysq通用代理,后端JDBC方式支持Oracle、DB2、SQL Server 、 mongodb 、巨杉。支持SQL黑名单、sql注入攻击拦截。支持分表(1.6)。集群基于ZooKeeper管理,在线升级,扩容,智能优化,大数据处理。

  上面都是我从官网上抄的,并没有真正的理解透彻- -

  简单来说,mycat负责和数据库进行交互,我们编程针对mycat编程,这样对开发人员来说,并没有感觉到有一层mycat来作为了中间件。

  mycat的安装非常简单,我们只需要配置几个配置文件然后启动它就行了。

  下载解压就不说了,去官网下吧。修改conf文件夹中的server.xml,这个xml配置的是类似mysql的一些配置,比如用户,默认sql解析器,等等,如果把mycat当做数据库的话,这里就是对数据库的配置。




	
		druidparser
		1 
		
	
	
		
		root
		
		mysqlcluster
		
	

	
		itoo
		mysqlcluster
		true
		
	

  我这里只配置了俩用户,反正是为了测试,就一个读一个可写。

  然后修改schema.xml,这个xml配置的是真正的mysql数据库的地址和节点,节点是用来分库分表的我这里就没有配置。





	
		
	
	
	
	
		
		
		select user()
		
		
			
		
	

  最后还有一个rule.xml,这个xml是分库分表的规则,我暂时没有研究,就算了。

  然后启动mycat服务,进入mycat的bin目录,直接mycat start就可以了。

  启动成功之后就可以使用navicat连接了,默认端口是8066,用户名密码是上面server.xml里面配置的。

你可能感兴趣的:(Linux is not Matrix——MyCat实现读写分离)