【Mycat】mycat综述(附安装配置)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: 【Mycat】mycat综述(附安装配置)

原理

主要根据对sql的拦截,然后经过一定规则的分片解析、路由分析、读写分离分析、缓存分析等,然后将SQL发给后端真实的数据块,并将返回的结果做适当处理返回给客户端

mycat安装

linux通常安装方式

1.rpm方式 .rpm安装包,按顺序安装

2.yum方式,需要联网

3.解压后即可使用

4.解压后编译安装

这里主要讲第三种,就是解压即可用

第三种 解压后即可使用

1.上传安装包

下载一个安装包,上传到/opt目录(负责存放安装包)下

解压

tar -zxvf 文件名 // z指的是按照z的后缀扫描,x是解压,v是显示信息,f是指定文件

2.安装

将opt目录下的文件目录复制到/usr/local(该目录主要存放软件安装目录。默认安装路径)

cp -r mycat /usr/local (-r : 递归拷贝,当拷贝文件夹时使用

3.配置

第一步:修改server.xml,修改为mycat

schemas:mycat的逻辑库名,可以不改

第二步:修改schema.xml

删除无用的测试表

显示行号

esc+:set nu

删除(删除一行是dd,删除多行是dnd)

直接按d27d,就删除了27行(从光标位置删除27行)

设置逻辑数据库默认节点

删除无用节点(dd即可),留下一个Node即可

删除多余写主机(因为mysql搭的读写分离的主从结构)

删除多余注释(d22d),我需要的就是这18行配置文件

为了避免歧义修改一下host

修改host和默认db(默认db这里的testdb必须是mysql中都有的数据源)

修改写主机和读主机ip(账号密码为mysql的用户名密码)

测试Mycat是否能连接Mysql

[root@localhost conf]# mysql -uroot -p123456 -h 192.168.25.146 -P 3306    // -h后面是目的ip,-P后面是mysql端口号

启动程序

cd …

cd bin

启动方式

  1. 控制台启动(可以第一时间看到启动日志,方便定位问题)
 ./mycat console

2.后台启动:去mycat/bin目录下 ./mycat start (日常运行)

登录mycat

管理窗口

[root@localhost ~]# mysql -umycat -p123456 -h 192.168.25.150 -P 9066

数据窗口

[root@localhost ~]# mysql -umycat -p123456 -h 192.168.25.150 -P 8066

如下图,连接成功,有点像mysql,不过看下面的版本信息可以清晰的看出是mycat

查看数据库

show databases

知识点

6个特殊目录,在启动时不需要加./

  1. /bin
  2. /usr/bin
  3. /usr/local/bin
  4. /sbin
  5. /usr/sbin
  6. /usr/local/sbin

配置文件(3个配置文件)

  1. schema.xml:定义逻辑库
  2. rule.xml(定义分片规则)
  3. server.xml:定义用户以及系统相关变量,如端口等

遇到的问题

1.测试远程连接mysql

解决方案:关闭防火墙

[root@localhost ~]#  systemctl disable firewalld
[root@localhost ~]#  service firewalld stop

2.ERROR 1129 (HY000): Host ‘192.168.25.150’ is blocked because of many connection errors; unblock with ‘mysqladmin flush-hosts’

解决方案:

查看连接失败次数,发现允许连接失败次数较少

show variables like 'max_connect_errors';

在目标mysql服务器执行:

mysql>  set global max_connect_errors = 100;

如何使用navicat连接mycat

1.ERROR 1003 (HY000): Unsupported statement

应该连接mycat的 8066端口

9066是管理端口。

2.

默认db这里的testdb必须是mysql中都有的数据源,没有逻辑数据源

必须和下图一样有你配置的逻辑数据源

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
Linux 网络安全 数据库
MyCat下载与安装
MyCat下载与安装
3787 0
|
SQL 关系型数据库 MySQL
MyCat2介绍以及部署和读写分离/分库分表(MyCat2.0)
MyCat2介绍以及部署和读写分离/分库分表(MyCat2.0)
1587 0
|
存储 Oracle 前端开发
MyCat-简介-MyCat 的使用场合及下载 | 学习笔记
快速学习 MyCat-简介-MyCat 的使用场合及下载
MyCat-简介-MyCat 的使用场合及下载 | 学习笔记
|
SQL 关系型数据库 MySQL
Mycat【Mycat部署安装(核心配置及目录结构、安装以及管理命令详解)Mycat高级特性(读写分离概述、搭建读写分离、MySQL双主双从原理)】(三)-全面详解(学习总结---从入门到深化)
Mycat【Mycat部署安装(核心配置及目录结构、安装以及管理命令详解)Mycat高级特性(读写分离概述、搭建读写分离、MySQL双主双从原理)】(三)-全面详解(学习总结---从入门到深化)
1127 0
|
11月前
|
算法 Java
JVM进阶调优系列(4)年轻代和老年代采用什么GC算法回收?
本文详细介绍了JVM中的GC算法,包括年轻代的复制算法和老年代的标记-整理算法。复制算法适用于年轻代,因其高效且能避免内存碎片;标记-整理算法则用于老年代,虽然效率较低,但能有效解决内存碎片问题。文章还解释了这两种算法的具体过程及其优缺点,并简要提及了其他GC算法。
 JVM进阶调优系列(4)年轻代和老年代采用什么GC算法回收?
|
SQL 中间件 关系型数据库
MyCat的安装
MyCat的安装
|
Java Shell Linux
11MyCat - Window下安装MyCat
11MyCat - Window下安装MyCat
240 0
|
SQL 存储 关系型数据库
Mycat 实现分库分表及读写分离
Mycat 实现分库分表及读写分离
196 0
|
SQL 调度 数据库
Docker部署Xxl-Job分布式任务调度中心(超详细)
Docker部署Xxl-Job分布式任务调度中心(超详细)
|
SQL 缓存 关系型数据库
myCat 9066管理端口常用命令
myCat 9066管理端口常用命令
179 0