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

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
简介: 【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中都有的数据源,没有逻辑数据源

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

相关实践学习
自建数据库迁移到云数据库
本场景将引导您将网站的自建数据库平滑迁移至云数据库RDS。通过使用RDS,您可以获得稳定、可靠和安全的企业级数据库服务,可以更加专注于发展核心业务,无需过多担心数据库的管理和维护。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
Linux 网络安全 数据库
MyCat下载与安装
MyCat下载与安装
4019 0
|
SQL 关系型数据库 MySQL
MyCat2介绍以及部署和读写分离/分库分表(MyCat2.0)
MyCat2介绍以及部署和读写分离/分库分表(MyCat2.0)
2332 0
|
SQL 关系型数据库 MySQL
Mycat【Mycat部署安装(核心配置及目录结构、安装以及管理命令详解)Mycat高级特性(读写分离概述、搭建读写分离、MySQL双主双从原理)】(三)-全面详解(学习总结---从入门到深化)
Mycat【Mycat部署安装(核心配置及目录结构、安装以及管理命令详解)Mycat高级特性(读写分离概述、搭建读写分离、MySQL双主双从原理)】(三)-全面详解(学习总结---从入门到深化)
1293 0
|
SQL 关系型数据库 MySQL
如何实现 MySQL 的读写分离?
本文介绍了 MySQL 读写分离的实现方式及其主从复制原理,解释了如何通过主从架构提升读并发能力。重点分析了主从同步延时问题及解决方案,如半同步复制、并行复制等技术手段,并结合实际案例探讨了高并发场景下的优化策略。文章还提醒开发者在编写代码时需谨慎处理插入后立即查询的情况,避免因主从延时导致的数据不一致问题。
1353 44
如何实现 MySQL 的读写分离?
|
缓存 前端开发 JavaScript
终极 Nginx 配置指南(全网最详细)
本文详细介绍了Nginx配置文件`nginx.conf`的基本结构及其优化方法。首先通过删除注释简化了原始配置,使其更易理解。接着,文章将`nginx.conf`分为全局块、events块和http块三部分进行详细解析,帮助读者更好地掌握其功能与配置。此外,还介绍了如何通过简单修改实现网站上线,并提供了Nginx的优化技巧,包括解决前端History模式下的404问题、配置反向代理、开启gzip压缩、设置维护页面、在同一IP上部署多个网站以及实现动静分离等。最后,附上了Nginx的基础命令,如安装、启动、重启和关闭等操作,方便读者实践应用。
6512 85
终极 Nginx 配置指南(全网最详细)
|
JSON 监控 API
使用Zabbix API
使用Zabbix API
890 67
|
应用服务中间件 nginx Docker
配置Containerd运行时镜像加速器
containerd配置国内容器镜像加速器
4977 1
|
Java Shell Linux
11MyCat - Window下安装MyCat
11MyCat - Window下安装MyCat
366 0
|
SQL 中间件 关系型数据库
MyCat的安装
MyCat的安装
|
关系型数据库 MySQL 数据库
解决Navicat报错:2013 - Lost connection to MySQL server during query
解决Navicat报错:2013 - Lost connection to MySQL server during query
3742 0

热门文章

最新文章