1、MyCat入门
1.Mycat简介
[1].Mycat是什么
Mycat 是数据库中间件
[2].why使用Mycat
①.Java与数据库紧耦合
②.高访问量高并发对数据库的压力
③.读写请求数据不一致
[3].数据库中间件

[3].Mycat官网
[4].Mycat作用
(1).读写分离

(2).数据分片
垂直拆分(分库)、水平拆分(分表)、垂直+水平拆分(分库分表)

(3).多数据源整合

[5].Mycat原理
Mycat 的原理中最重要的一个动词是“拦截”,它拦截了用户发送过来的 SQL 语句,首先对SQL语句做了一些特定的分析:如分片分析、路由分析、读写分离分析、缓存分析等,然后将此 SQL 发往后端的真实数据库,并将返回的结果做适当的处理,最终再返回给用户。

这种方式把数据库的分布式从代码中解耦出来,程序员察觉不出来后台使用 Mycat 还是MySQL。
2.Mycat安装启动
[1].解压后即可使用
解压缩文件拷贝到 linux 下 /usr/local/
(1)将tar包放到Linux的/opt
(2)解压Mycat
|
[root@pluto opt]# cd /opt/ [root@pluto opt]# tar -zxvf Mycat-server-1.6.7.1-release-20190627191042-linux.tar.gz |
(3)复制Mycat到/usr/local/
因为mycat是目录,所以我们需要-r递归参数
|
[root@pluto mycat]# cp -r /opt/mycat/ /usr/local/ |
(4)配置文件
schema.xml:定义逻辑库,表、分片节点等内容
rule.xml:定义分片规则
server.xml:定义用户以及系统相关变量,如端口等
1)server.xml
修改用户信息,与MySQL区分
|
<user name="mycat" defaultAccount="true"> <property name="password">123456</property> <property name="schemas">TESTDB</property> </user> |
2)schema.xml
删除<schema>标签间的表信息,<dataNode>标签只留一个,<dataHost>标签只留一个,<writeHost> <readHost>只留一对
|
[root@pluto 桌面]# vim /usr/local/mycat/conf/schema.xml |
|
<?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="testdb" /> <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.188.188:3306" user="root" password="123456"> <!-- can have multi read hosts --> <readHost host="hostS2" url="192.168.188.189:3306" user="root" password="123456" /> </writeHost> </dataHost> </mycat:schema> |
3).验证数据库
Mycat 作为数据库中间件要和数据库部署在不同机器上,所以要验证远程访问情况。
|
mysql -uroot -p123123 -h 192.168.188.188 -P 3306 mysql -uroot -p123123 -h 192.168.188.189 -P 3306 #如远程访问报错,请建对应用户 grant all privileges on *.* to root@'%' identified by '123456'; %代表全部用户 |
[2].启动mycat
|
[root@pluto bin]# pwd /usr/local/mycat/bin [root@pluto bin]# ./mycat console |

启动mycat遇到的问题


|
https://blog.csdn.net/chtjava/article/details/87078154 |
[3].登录mycat
(1).登录数据窗口
此登录方式用于通过 Mycat 查询数据,我们选择这种方式访问 Mycat
|
[root@host79 ~]# mysql -umycat -p123456 -h 192.168.188.188 -P 8066 |

(2).登录后台管理窗口
|
[root@host79 ~]# mysql -umycat -p123456 -h 192.168.188.188 -P 9066 |

1、MyCat入门的更多相关文章
- MyCat 入门:漫谈 MyCat 配置系统
文章首发于[博客园-陈树义],点击跳转到原文<MyCat 入门:漫谈 MyCat 配置系统> 上篇文章<MyCat 启蒙:分布式系统的数据库架构演变>中,我们通过一个项目从零到 ...
- Mycat入门
1. Mycat入门 官网 http://www.mycat.io/ 1.1. 什么是Mycat 一个彻底开源的,面向企业应用开发的大数据库集群 支持事务.ACID.可以替代MySQL的加强版数据库 ...
- mycat 入门教程
mycat 入门教程 之前已经对mycat的配置进行了详细记得介绍,下面就是一个mycat分库的小例子 schema.xml配置 <?xml version="1.0"?&g ...
- MyCat入门指南
入门篇 1. 安装 1.1从https://github.com/MyCATApache/Mycat-download下载压缩包 1.2解压缩后复制到相应目录下面,比如/usr/local ...
- mycat入门安装及demo实现
下载: https://github.com/MyCATApache/Mycat-download 安装: 直接解压 运行命令: linux: ./mycat start 启动 ./myca ...
- mycat入门教程
github https://github.com/MyCATApache/Mycat-Server myCat介绍 myCat的诞生,要从其前身Amoeba和Cobar说起. Amoeba(变形虫) ...
- mycat入门_介绍与安装
利用闲暇时间接触了下mycat. 一.介绍 1.概述: 国内最活跃的.性能最好的开源数据库中间件,可以理解为数据库和应用层之间的一个代理组件. 2.作用: 读写分离.分表分库.主从切换. 3.原理: ...
- mycat入门--数据库分片
配置mycat的用户名和密码: 连接mycat,就像连接mysql一样:
- mycat 入门使用例子
目的:有 user 和 t_order 两张数据表,表 user 的数据全部存放在 db1_zhang 中,表 t_order 的数据按 id 对 2 取模分别存放在 db1_zhang 和 db2_ ...
- Mycat入门核心概念
Mycat中的核心概念 Mycat中的核心概念 1.数据库中间件 Mycat 是一个开源的分布式数据库系统,但是由于真正的数据库需要存储引擎,而 Mycat 并没有 存储引擎,所以并 ...
随机推荐
- TypeScript 引入第三方包,报无法找到模块错误
以 react-router-dom 模块为例 1. npm加上 @types/ 根据报错提示尝试安装该库的TypeScript版本 (该库的 ts 声明文件),也就是在该库的名称前加上 @types ...
- php(tp5)生成条形码
因为公司业务需要,研究了一下条形码 1.下载barcodegen扩展包 官网地址:https://www.barcodebakery.com 2.下载完后解压至 extend 文件夹里面,然后复制以下 ...
- jQuery 小demo 热点排名
效果如下: 代码如下: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta cha ...
- Calling unknown method: app\modules\mobile\controllers\CompanyController::redirect()
$this->redirect(['default/error']); Yii::$app->end();上边的代码出现 Calling unknown method: app\modul ...
- python搭建本地共享文件服务器
1.安装python 去官网下载python最新版,然后安装配置好环境 2.运行命令 在终端上输入以下命令 python3 -m http.server 当你执行完这个命令的时候,你的电脑会监听 80 ...
- LIKE 运算符
运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算.例如:2+3,其操作数是2和3,而运算符则是"+".在vb2005中运算符大致可以分为5种类型:算术运算符.连接运算 ...
- C语言讲义——运算符(operator)
运算符(operator) 算数运算符 7种 关系运算符 6种 逻辑运算符 3种 位运算符 6种 赋值运算符 11种 共5类33种 算术运算符 加 + 减 - 乘 * 除 / 取余 % (仅限于整数类 ...
- 【mq读书笔记】mq读写分离机制
mq根据brokerName查找Broker地址的过程 mq根据MessageQueue查找Broker地址的唯一依据是brokerName,同一组Broker(M-S)他们的bokerName相同但 ...
- 获取Win和Linux系统启动时间,类似uptime功能,用于判断是否修改过系统时间
目录 前言 测试代码 Win测试 Linux测试 总结 前言 有时候需要判断系统是否有修改过时间,最简单的方法就是获取当前时间A,然后sleep X秒,然后获取 时间B,如果 时间B - 时间A ≠ ...
- [oBIX包使用教程] 使用 Python 通过 oBIX 协议访问 Niagara 数据
oBIX 全称是 Open Building Information Exchange,它是基于 RESTful Web Service 的接口的标准,用于构建控制系统.oBIX是在专为楼宇自动化设计 ...