一、简介
1.mycat是什么?
Mycat 是数据库中间件。中间件是一类连接软件组件和应用的计算机软件, 以便于软件各部件之间的沟通。tomcat和web都是中间件。而数据库中间件是连接java应用程序和数据库。它支持MySQL ORACLE SQLServer等一些主流的数据库。
2.为什么要用mycat?
现在互联网行业飞速发展,数据的量级也是指数级的增长。在这种情况下,对数据的各种操作也是更加困难。一般的关系型数据库已经无法满足快速查询和插入数据的需求了。Mycat能满足数据库数据大量存储,提高了查询性能。
3.核心技术(分库分表)
数据库分片指:通过某种特定的条件,将我们存放在一个数据库中的数据分散存放在不同的多个数据库(主机)中,这样来达到分散单台设备的负载,根据切片规则,可分为以下两种切片模式---垂直分库,水平分表。
二、Mycat安装
1.准备
- jdk:要求jdk必须是1.7及以上版本
- 系统:CentOS7
- Mysql:推荐mysql是5.5以上版本
- Mycat:
Mycat的官方网站:http://www.mycat.org.cn/
下载地址: https://github.com/MyCATApache/Mycat-download
百度网盘是我自己安装的版本
链接:https://pan.baidu.com/s/1nthwKUde3d7MPsh6O6xDoA
提取码:316g
2.安装
1.用xftp将安装包放到opt目录下, 解压缩文件拷贝到 linux 下 /usr/local/
在opt目录下执行两个命令
tar -zxvf Mycat-server-1.6.7.1-release-20190627191042-linux.tar.gz
cp -r mycat /usr/local/
3.启动(修改server.xml和schema.xml)
打开mycat安装目录
cd /usr/local/mycat
1) 修改配置文件server.xml
#打开配置文件所在的文件夹
cd conf/
#修改用户信息,和mysql区分
vim server.xml
在配置文件中找到,原来是name=“root”,将他改为mycat
保存退出;
2)修改schema.xml
删除<schema>标签间的表信息, <dataNode>标签只留一个, <dataHost>标签只留一个, <writeHost><readHost>留一对。一个写主机,一个读主机(读写分离)。两台mysql服务器的关系是一主一从。
一主一从mysql安装过程如下:
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
<schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1">
</schema>
<dataNode name="dn1" dataHost="host1" database="zhao" />
<dataHost name="host1" maxCon="1000" minCon="10" balance="0"
writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<!-- can have multi write hosts -->
<writeHost host="hostM1" url="192.168.157.130:3306" user="root"
password="123456">
<!-- can have multi read hosts -->
<readHost host="hostS1" url="192.168.157.129:3306" user="root" password="123456" />
</writeHost>
</dataHost>
</mycat:schema>
然后保存退出;
3)验证数据库的访问情况
mysql -uroot -p123456 -h 192.168.157.129 -P 3306
mysql -uroot -p123456 -h 192.168.157.130 -P 3306
连接好以后,我们就可以启动mycat了。
4)启动程序
cd /usr/local/mycat/bin/
控制台启动
./mycat console
成功了如下:
后台启动
./mycat start
3.登录
登录后台管理窗口--用来维护和管理mycat
#端口固定,ip为安装mycat机器的ip
mysql -umycat -p123456 -P 9066 -h 192.168.157.129
登录数据窗口--连接数据库,查询数据
#端口固定,ip为安装mycat机器的ip
mysql -umycat -p123456 -P 8066 -h 192.168.157.129