首页 > 数据库 > MySQL > 正文

利用mycat实现mysql数据库读写分离的示例

2024-07-24 12:50:26
字体:
来源:转载
供稿:网友

什么是MyCAT

    一个彻底开源的,面向企业应用开发的大数据库集群 支持事务、ACID、可以替代MySQL的加强版数据库 一个可以视为MySQL集群的企业级数据库,用来替代昂贵的Oracle集群 一个融合内存缓存技术、NoSQL技术、HDFS大数据的新型SQL Server 结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品 一个新颖的数据库中间件产品

    MyCAT关键特性

      支持SQL92标准 支持MySQL、Oracle、DB2、SQL Server、PostgreSQL等DB的常见SQL语法 遵守MySQL原生协议,跨语言,跨平台,跨数据库的通用中间件代理。 基于心跳的自动故障切换,支持读写分离,支持MySQL主从,以及galera cluster集群。 支持Galera for MySQL集群,Percona Cluster或者MariaDB cluster 基于Nio实现,有效管理线程,解决高并发问题。 支持数据的多片自动路由与聚合,支持sum,count,max等常用的聚合函数,支持跨库分页。 支持单库内部任意join,支持跨库2表join,甚至基于caltlet的多表join。 支持通过全局表,ER关系的分片策略,实现了高效的多表join查询。 支持多租户方案。 支持分布式事务(弱xa)。 支持XA分布式事务(1.6.5)。 支持全局序列号,解决分布式下的主键生成问题。 分片规则丰富,插件化开发,易于扩展。 强大的web,命令行监控。 支持前端作为MySQL通用代理,后端JDBC方式支持Oracle、DB2、SQL Server 、 mongodb 、巨杉。 支持密码加密 支持服务降级 支持IP白名单 支持SQL黑名单、SQL注入攻击拦截 支持prepare预编译指令 支持非堆内存(Direct Memory)聚合计算 支持PostgreSQL的native协议 支持MySQL和oracle存储过程,out参数、多结果集返回 支持zookeeper协调主从切换、zk序列、配置zk化 支持库内分表 集群基于ZooKeeper管理,在线升级,扩容,智能优化,大数据处理(2.0开发版)。

      1、这里是在mysql主从复制实现的基础上,利用mycat做读写分离,架构图如下:

      2、Demo

      2.1 在mysql master上创建数据库创建db1

      2.2 在数据库db1创建表student

      同时,因为配置好了mysql主从复制,在mysql slave上也有一样数据库和表

      2.3 编辑 mycat的配置文件server.xml

      <!--表示mycat的登录用户名--> <user name="test"> <!--表示mycat的登录密码--> <property name="password">test</property>         <!--表示mycat的逻辑数据库名称,可以自定义--> <property name="schemas">TESTDB</property> </user> <user name="user"> <property name="password">user</property> <property name="schemas">TESTDB</property> <property name="readOnly">true</property> </user>
      发表评论 共有条评论
      用户名: 密码:
      验证码: 匿名发表