mycat 安装和初体验

一、是什么

Mycat 是数据库 是数据库 中间件 中间件 。

1、数据库中间件 中间件 :

是一类连接软件组和应用的计算机, 是一类连接软件组和应用的计算机, 是一类连接软件组和应用的计算机, 是一类连接软件组和应用的计算机, 是一类连接软件组和应用的计算机, 是一类连接软件组和应用的计算机, 是一类连接软件组和应用的计算机, 是一类连接软件组和应用的计算机, 是一类连接软件组和应用的计算机, 是一类连接软件组和应用的计算机, 以便于软件各部之间的沟通 以便于软件各部之间的沟通 以便于软件各部之间的沟通 以便于软件各部之间的沟通 以便于软件各部之间的沟通 以便于软件各部之间的沟通 。 例子 :TomcatTomcatTomcatTomcatTomcat ,web web中间件 中间件 。 数据库 中间件 中间件 :连接 javajavajavajava应用程序和数据库 应用程序和数据库 应用程序和数据库 应用程序和数据库

2、为什么要用 MycatMycat ?

① JavaJava Java与数据库紧耦合 与数据库紧耦合 与数据库紧耦合 与数据库紧耦合 。
② 高访问量并发对数据库的压力 高访问量并发对数据库的压力 高访问量并发对数据库的压力 高访问量并发对数据库的压力 高访问量并发对数据库的压力 高访问量并发对数据库的压力 。
③ 读写请求数据不一致 写请求数据不一致 写请求数据不一致

3、数据库中间件对比

① CobarCobar

属于阿里 属于阿里 B2BB2BB2B事业群,始于 事业群,始于 事业群,始于 事业群,始于 20082008 年,在阿里服役 年,在阿里服役 年,在阿里服役 年,在阿里服役 3年多,接管 年多,接管 3000+ 3000+个MySQL MySQL MySQL数据库的 schema, schema, schema, 集群日处理在线 群日处理在线 群日处理在线 SQLSQLSQL请求 50 亿次以上。由于 亿次以上。由于 亿次以上。由于 亿次以上。由于 CobarCobar 发起人的离职, 起人的离职, 起人的离职, CobarCobar 停止维护。 停止维护。 停止维护。
② My cat

是开源社区在阿里 是开源社区在阿里 是开源社区在阿里 cobar cobar 基础上进行二次开发,解决了 基础上进行二次开发,解决了 基础上进行二次开发,解决了 基础上进行二次开发,解决了 基础上进行二次开发,解决了 基础上进行二次开发,解决了 cobar 存在的问题,并且加入了许多新 存在的问题,并且加入了许多新 存在的问题,并且加入了许多新 存在的问题,并且加入了许多新 存在的问题,并且加入了许多新 存在的问题,并且加入了许多新 存在的问题,并且加入了许多新 的功能在其中。 青出于蓝而胜的功能在其中。 青出于蓝而胜的功能在其中。 青出于蓝而胜的功能在其中。 青出于蓝而胜的功能在其中。 青出于蓝而胜的功能在其中。 青出于蓝而胜的功能在其中。
青出于蓝而胜

③ OneProxy:

OneProxy OneProxyOneProxyOneProxy 基于 MySQL MySQL MySQL官方的 proxy proxy 思想利用 c进行开发的, 进行开发的, 进行开发的, 进行开发的, OneProxyOneProxy OneProxyOneProxyOneProxyOneProxy 是一款商业收费的中间件。舍 是一款商业收费的中间件。舍 是一款商业收费的中间件。舍 是一款商业收费的中间件。舍 是一款商业收费的中间件。舍 是一款商业收费的中间件。舍 弃了一些功能,专注在性和稳定上。 弃了一些功能,专注在性和稳定上。 弃了一些功能,专注在性和稳定上。 弃了一些功能,专注在性和稳定上。 弃了一些功能,专注在性和稳定上。 弃了一些功能,专注在性和稳定上。 弃了一些功能,专注在性和稳定上。 弃了一些功能,专注在性和稳定上。
④ kingshard:

kingshard kingshardkingshard由小团队用 由小团队用 由小团队用 go 语言开发,还需要展不断完善 语言开发,还需要展不断完善 语言开发,还需要展不断完善 语言开发,还需要展不断完善 语言开发,还需要展不断完善 语言开发,还需要展不断完善 语言开发,还需要展不断完善 语言开发,还需要展不断完善 。
⑤ ViteViteViteVitess :

是YoutubeYoutube Youtube 生产在使用 生产在使用 生产在使用 ,架构很复杂。不支持 架构很复杂。不支持 架构很复杂。不支持 架构很复杂。不支持 架构很复杂。不支持 MySQLMySQLMySQL MySQL原生协议,使用需要大量改造成本 原生协议,使用需要大量改造成本 原生协议,使用需要大量改造成本 原生协议,使用需要大量改造成本 原生协议,使用需要大量改造成本 原生协议,使用需要大量改造成本 。
⑥ AtlasAtlasAtlasAtlas:

是360 团队基于 团队基于 mysql proxymysql proxymysql proxy mysql proxymysql proxy mysql proxy 改写 ,功能还需完善 ,功能还需完善 ,功能还需完善 ,高并发下不稳定 ,高并发下不稳定 ,高并发下不稳定 ,高并发下不稳定 。
⑦ MaxScale MaxScale:

MaxScale是mariadbmariadb mariadbmariadb (MySQL MySQLMySQLMySQL原作者维护的一个版本 原作者维护的一个版本 原作者维护的一个版本 原作者维护的一个版本 ) 研发的中间件 研发的中间件 研发的中间件 研发的中间件
⑧ MySQLRout:

MySQLRoutMySQLRout MySQLRoutMySQLRoutMySQLRout e是MySQL MySQL MySQL官方 OracleOracleOracle Oracle公司发布的中间件 公司发布的中间件 公司发布的中间件

4、Mycat 的官网

http://www.mycat.org.cn/

5、下载 mycat 1.6.7 2020-02-18地址

http://dl.mycat.org.cn/1.6.7.5/2020-2-18/

6、下载mycat-web-1.0地址

http://dl.mycat.org.cn/mycat-web-1.0/

第二章 安装启动

2.1 安装

1、解压后 即可使用

解压缩文件拷贝到 解压缩文件拷贝到 解压缩文件拷贝到 解压缩文件拷贝到 linux 下 /usr/l/local/

2、三个 配置 文件

①schema.xml:定义逻辑库,表、分片节点等内容
②rule.xml:定义 分片 规则
③server.xml:定义用户以及系统相关变量,如端口等

2.2、 启动

1、修改配置文件 server.xml

修改用户信息,与MySQL区分,如下:

       .......

        <user name="mycat">
                <property name="password">123 456</property>
                <property name="schemas">TESTDB</property>
        ser>

      .......

2、修改配置文件 schema.xml

删除 <schem<schem <schem a>标签间的 标签间的 标签间的 表信息 表信息 ,<dataNode >标签只留一个,<dataHost >标签只留一个 ,<writeHost ><readHost>只留一 对

3、验证数据库访问情况

mysql -uroot -p123123 -h 192.168.140.128 -P 3306
mysql -uroot -p123123 -h 192.168.140.127 -P 3306
#如远程访问报错,请建对应用户 远程访问报错,请建对应用户 远程访问报错,请建对应用户 远程访问报错,请建对应用户
grant all privileges on *.* to [email protected]'缺少的host' identified by '123123';

4、启动程序

①控制台启动 控制台启动 控制台启动 :去 mycat/bin目录下 目录下 执行 ./mycat console
②后台启动 后台启动 :去 mycat/bin目录下 目录下 ./ mycat start

2.3 登陆

1、登录后台管理窗 口

mysql -umycat -p123456 -P 8066 -h 192.168.140.128