一、简介
MyCat是目前最流行的基于Java语言编写的数据库中间件,是一个实现了MySql协议的服务器,其核心功能是分库分表。配合数据库的主从模式还可以实现读写分离。优点Nginx的意思呀。
二、面向的市场问题
1.java应用和数据库直接连接,耦合度太高。
2.程序使用中的高访问量及并发,数据库压力太大。
3.数据库的读写请求数据不一致问题 。主从复制重点突出
4.对应用的多个数据库进行管理,与应用程序对接。读写分离重点突出。
三、Mycat的作用
1.数据库读写分离。
2.数据分片(分库分表)。
3.多数据源整合处理。Oracle、Mysql、Redis等
四、基本原理
Mycat对发送过来的所有sql语句进行“拦截”,进行一系列的分析(分库分表、读写分离、缓存等)之后再发送到数据库。将结果进行适当的处理,再返回给用户。
五、安装
1.Mycat下载地址
2.如图我选择1.6-RELEASE;再选择压缩包Mycat-server-1.6-RELEASE-20161028204710-linux.tar
3.上传到Linux系统后,放在/opt目录之下进行解压
4.解压命令
tar -zxvf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz
5.将解压后文件复制到/usr/local下
cp -r mycat /usr/local/
6.配置文件包:mycat——>conf
schema.xml ——定义了逻辑库,表、分片节点等内容
rule.xml ——定义分片规则
server.xml ——定义用户及系统相关变量,端口等
六、配置文件
1.修改server.xml中数据 root改为 mycat
2.修改schema.xml中schema标签之间的table数据,并删除多余数据节点dn2,dn3等;修改完整如图
3.注意:保持两个数据库的远程访问没有问题的前提下;
mysql -uroot -p密码 -h ip -P 端口号
六、启动Mycat
1.切换到mycat/bin之下,如图
2.1执行命令即可
./mycat start
2.1.如果想在控制台查看启动信息,可执行如下命令
./mycat console
七、登录Mycat
1.启动完成之后执行;注意此处使用内网ip(127.0.0.1)
mysql -umycat -p123456 -h ip -P 8066
注意
此时如果报错无法连接到mysql,除了前面的配置没有问题,请一定检查是否有java环境,检查jdk
2.查看数据库
show databases;
2.查看数据库下表
use TESTDB;
show tables;