🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
>[info] mycat 简介 MyCat 是目前最流行的基于 java 语言编写的数据库中间件,是一个实现了 MySQL 协议 的服务器,前端用 户可以把它看作是一个数据库代理,用 MySQL 客户端工具和命令行访问,而其后端可以用 MySQL 原生协 议与多个 MySQL 服务器通信,也可以用 JDBC 协议与大多数主流数据库服务器通信,**其核心功能是分库分表。** 配合数据库的主从模式还可实现读写分离。MyCat 是基于阿里开源的 Cobar 产品而研发,Cobar 的 稳定性、可靠性、优秀的架构和性能以及众多成熟的使用案例使得 MyCat 变得非常的强大。 MyCat 发展到 目前的版本,已经不是一个单纯的 MySQL 代理了,它的后端可以支持MySQL、SQL Server、Oracle、 DB2、PostgreSQL 等主流数据库,也支持 MongoDB 这种新型NoSQL 方式的存储,未来还会支持更多类型 的存储。而在最终用户看来,无论是那种存储方式,在 MyCat 里,都是一个传统的数据库表,支持标准的 SQL 语句进行数据的操作,这样一来,对前端业务系统来说,可以大幅降低开发难度,提升开发速度。 简 单来说MyCat就是实现数据库集群的,对**海量数据**的数据存储的一种解决方案,因为很多数据库不想 Oracle一样自带集群的配置,那么在进行海量数据存储的时候就要使用到MyCat进行数据库的管理了。 ![](https://img.kancloud.cn/68/43/684328be2be0f89963d2d25a36efe12a_1184x629.png) * **mycat 应用场景:** ~~~ 单纯的读写分离,此时配置最为简单,支持读写分离,主从切换 分库分表,对于超过1000万的表进行分片,最大支持1000亿的单表分片 多租户应用,每个应用一个库,但应用程序只连接mycat,从而不改造程序本身,实现多租户化 报表系统,借助于mycat的分表能力,处理大规模报表的统计 替代Hbase,分析大数据 作为海量数据实时查询的一种简单有效方案,比如1000亿条频繁查询的记录需要在3秒内查询出来结果,除了基于主键的查询,还可能存在范围查询或其他属性查询,此时mycat可能是最简单有效的选择 ~~~ >[info] mycat 安装 **1. jdk 安装** ``` # 六星教育 lms 中有相应包 cd /usr/local tar -zxvf jdk-8u20-linux-x64.tar.gz ``` **1.1. java 配置环境变量** ``` vi /etc/profile ``` 在最后加入如下配置: ~~~ export JAVA_HOME=/usr/local/jdk1.8.0_20 export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar export PATH=$PATH:${JAVA_HOME}/bin ~~~ 刷新环境配置使其生效: ``` source /etc/profile ``` 测试 java 版本: ![](https://img.kancloud.cn/7a/3d/7a3dae3754901da804ce8470364b5d7f_646x142.png) **2. 安装 mycat** ~~~ # 六星教育 lms 中有相应包 cd /usr/local tar -zxvf Mycat-server-1.6.7.3-release-20190828135747-linux.tar.gz ~~~ **2.1 启动 mycat** ``` cd /usr/local/mycat/bin # 命令参数 ./mycat [option] Usage: ./mycat { console | start | stop | restart | status | dump } # 启动 ./mycat console ./mycat start/restart/stop ``` **3. 连接 mycat** ``` # -P 9066 属于运维端 mysql -uroot -p123456 -h 127.0.0.1 -P 8066 # mysql8 mysql -uroot -p123456 -h 127.0.0.1 -P 8066 --default_auth=mysql_native_password show databases; ``` ![](https://img.kancloud.cn/a6/90/a690fe6d2c2a924f1ccd920851862030_1057x489.png)