Mycat2安装

原创
2022/08/11 10:49
阅读数 2.1K

一、概述

    Mycat社区开发的一款分布式关系型数据库(中间件)。它支持分布式SQL查询,兼容MySQL通信协议,以Java生态支持多种后端数据库,通过数据分片提高数据查询处理能力。

二、mycat1和mycat2的区别

功能

1.6

2

多语句

不支持

支持

blob值

支持一部分

支持

全局二级索引

不支持

支持

任意跨库join(包含复杂查询)

catlet支持

支持

分片表与分片表JOIN查询

ER表支持

支持

关联子查询

不支持

支持一部分

分库同时分表

不支持

支持

存储过程

支持固定形式的

支持更多

支持逻辑视图

不支持

支持

支持物理视图

支持

支持

批量插入

不支持

支持

执行计划管理

不支持

支持

路由注释

支持

支持

集群功能

支持

支持更多集群类型

自动hash分片算法

不支持

支持

支持第三方监控

支持mycat-web

支持普罗米斯,kafka日志等监控

流式合拼结果集

支持

支持

范围查询

支持

支持

单表映射物理表

不支持

支持

XA事务

弱XA

支持,事务自动恢复

支持MySQL8

需要更改mysql8的服务器配置支持

支持

虚拟表

不支持

支持

joinClustering

不支持

支持

union all语法

不支持

支持

BKAJoin

不支持

支持

优化器注释

不支持

支持

ER表

支持

支持

全局序列号

支持

支持

保存点

不支持

支持

离线迁移

支持

支持(实验)

增量迁移

CRC32算法支持

BINLOG追平(实验)

安全停机

不支持

支持(实验)

HAProxy协议

不支持

支持

会话粘滞

update后select会粘滞

update后select会粘滞且支持设置时间

全局表插入支持全局序列号

不支持

支持

全局表插入支持主表插入自增结果作为序列号

不支持

支持

外部调用的分片算法

不支持但可定制

支持

映射模型区别

三、安装

    准备:

        1、官方文件服务器地址:http://dl.mycat.org.cn/2.0/

        2、当前最新版安装包地址:http://dl.mycat.org.cn/2.0/install-template/mycat2-install-template-1.21.zip

        3、额外需要准备jdk环境、一个正常运行的mysql实例,我这里采用mysql5.7。

    步骤:

        1、下载安装包到服务器/opt/soft下

cd /opt/soft
wget http://dl.mycat.org.cn/2.0/install-template/mycat2-install-template-1.21.zip

        2、解压文件,并进入到安装目录中

unzip mycat2-install-template-1.21.zip
cd mycat/

安装目录下有:

    1、bin        脚本

    2、conf    配置

    3、lib        依赖

    4、logs    日志

        3、下载核心包

cd lib
wget http://dl.mycat.org.cn/2.0/1.22-release/mycat2-1.22-release-jar-with-dependencies.jar

         4、修改默认数据库连接配置

cd conf/datasource
vim prototypeDs.datasource.json

prototypeDs.datasource.json(主要修改url、user、password)

{
        "dbType":"mysql",
        "idleTimeout":60000,
        "initSqls":[],
        "initSqlsGetConnection":true,
        "instanceType":"READ_WRITE",
        "maxCon":1000,
        "maxConnectTimeout":3000,
        "maxRetryCount":5,
        "minCon":1,
        "name":"prototypeDs",
        "password":"123456",
        "type":"JDBC",
        "url":"jdbc:mysql://localhost:3306/mysql?useUnicode=true&serverTimezone=Asia/Shanghai&characterEncoding=UTF-8",
        "user":"root",
        "weight":0
}

            5、启动,启动命令在bin目录,语法如下:

cd mycat/bin
#启动
./mycat start 
#停止
./mycat stop 
#前台运行
./mycat console 
#重启服务
./mycat restart 
#暂停
./mycat pause 
#查看启动状态
./mycat status 

            6、测试,打开Navicat,创建一个新链接,输入端口:8066,用户名:root,密码:123456(默认用户名密码,可修改conf/users/root.user.json)

四、常见安装问题

1、启动脚本执行时报错

Unable to locate any of the following operational binaries:
  /opt/soft/mycat/bin/./wrapper-linux-x86-64 (Found but not executable.)
  /opt/soft/mycat/bin/./wrapper-linux-x86-32 (Found but not executable.)
  /opt/soft/mycat/bin/./wrapper

执行如下命令可解决

cd /opt/soft/mycat/bin 
chmod +x ./*

2、启动日志报错

INFO   | jvm 1    | 2022/08/11 10:27:46 | WrapperSimpleApp: Unable to locate the class io.mycat.MycatCore: java.lang.ClassNotFoundException: io.mycat.MycatCore
INFO   | jvm 1    | 2022/08/11 10:27:46 | 
INFO   | jvm 1    | 2022/08/11 10:27:46 | WrapperSimpleApp Usage:
INFO   | jvm 1    | 2022/08/11 10:27:46 |   java org.tanukisoftware.wrapper.WrapperSimpleApp {app_class} [app_arguments]
INFO   | jvm 1    | 2022/08/11 10:27:46 | 
INFO   | jvm 1    | 2022/08/11 10:27:46 | Where:
INFO   | jvm 1    | 2022/08/11 10:27:46 |   app_class:      The fully qualified class name of the application to run.
INFO   | jvm 1    | 2022/08/11 10:27:46 |   app_arguments:  The arguments that would normally be passed to the
INFO   | jvm 1    | 2022/08/11 10:27:46 |                   application.
STATUS | wrapper  | 2022/08/11 10:27:48 | <-- Wrapper Stopped

缺少mycat核心包,将核心包下载后放到lib目录下(详见第三章第三步)

有兴趣的大佬大神可以关注下小弟的微信公共号,一起学习交流,扫描以下二维码关注即可。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
返回顶部
顶部