1.Mycat简介

[1].Mycat是什么

Mycat 是数据库中间件

[2].why使用Mycat

①.Java与数据库紧耦合

②.高访问量高并发对数据库的压力

③.读写请求数据不一致

[3].数据库中间件

[3].Mycat官网

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

[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/MAMAIMAI/article/details/104664129

https://blog.csdn.net/weixin_44666068/article/details/105792473

https://www.cnblogs.com/orcl-2018/p/13153865.html

https://blog.csdn.net/chtjava/article/details/87078154

http://www.xwood.net/_site_domain_/_root/5870/5874/t_c279894.html

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入门的更多相关文章

  1. MyCat 入门:漫谈 MyCat 配置系统

    文章首发于[博客园-陈树义],点击跳转到原文<MyCat 入门:漫谈 MyCat 配置系统> 上篇文章<MyCat 启蒙:分布式系统的数据库架构演变>中,我们通过一个项目从零到 ...

  2. Mycat入门

    1. Mycat入门 官网 http://www.mycat.io/ 1.1. 什么是Mycat 一个彻底开源的,面向企业应用开发的大数据库集群 支持事务.ACID.可以替代MySQL的加强版数据库 ...

  3. mycat 入门教程

    mycat 入门教程 之前已经对mycat的配置进行了详细记得介绍,下面就是一个mycat分库的小例子 schema.xml配置 <?xml version="1.0"?&g ...

  4. MyCat入门指南

    入门篇 1.       安装 1.1从https://github.com/MyCATApache/Mycat-download下载压缩包 1.2解压缩后复制到相应目录下面,比如/usr/local ...

  5. mycat入门安装及demo实现

    下载: https://github.com/MyCATApache/Mycat-download 安装: 直接解压 运行命令: linux:    ./mycat start 启动   ./myca ...

  6. mycat入门教程

    github https://github.com/MyCATApache/Mycat-Server myCat介绍 myCat的诞生,要从其前身Amoeba和Cobar说起. Amoeba(变形虫) ...

  7. mycat入门_介绍与安装

    利用闲暇时间接触了下mycat. 一.介绍 1.概述: 国内最活跃的.性能最好的开源数据库中间件,可以理解为数据库和应用层之间的一个代理组件. 2.作用: 读写分离.分表分库.主从切换. 3.原理: ...

  8. mycat入门--数据库分片

    配置mycat的用户名和密码: 连接mycat,就像连接mysql一样:

  9. mycat 入门使用例子

    目的:有 user 和 t_order 两张数据表,表 user 的数据全部存放在 db1_zhang 中,表 t_order 的数据按 id 对 2 取模分别存放在 db1_zhang 和 db2_ ...

  10. Mycat入门核心概念

      Mycat中的核心概念     Mycat中的核心概念 1.数据库中间件    Mycat 是一个开源的分布式数据库系统,但是由于真正的数据库需要存储引擎,而 Mycat 并没有 存储引擎,所以并 ...

随机推荐

  1. 10大排序算法——Java实现

    算法与实现 选择排序 算法思想 从数组中选择最小元素,将它与数组的第一个元素交换位置.再从数组剩下的元素中选择出最小的元素,将它与数组的第二个元素交换位置.不断进行这样的操作,直到将整个数组排序. 动 ...

  2. mysql主备切换canal出现的问题解析

    通过配置VIP,在进行主备切换时,出现的报错信息: 1.当主备节点当前binlog文件名称相同时,原主节点的position小于主备切换后的position,出现如下报错: 2020-07-02 15 ...

  3. git key生成

    1.打开git ssh 2.检查home目录的ssh目录是否存在,没有创建一个,mkdir ~/.ssh 3.运行命名:ssh-keygen -t rsa -C "你的邮箱", 如 ...

  4. C++中class和struct区别

    1.存储不同 结构体使用栈存储(Stack Allocation),而类使用堆存储(Heap Allocation). 栈的空间相对较小.但是存储在栈中的数据访问效率相对较高. 堆的空间相对较大.但是 ...

  5. 凭借着这份面经,我拿下了字节,美团的offer!

    最近经常有粉丝私信问我问了一些诸如秋招该怎么复习的问题,我就想顺便把回答整理发一发.我也是把之前面试的一些经历经验和身边的人面试的经验总结了一下放在下面. 前期准备规划: 如果秋招的话一般过年回来就可 ...

  6. 深度分析:那些Java中你一定遇到过的问题,一次性帮你搞定!深度分析:那些Java中你一定遇到过的问题,一次性帮你搞定!

    1.java中==和equals和hashCode的区别 基本数据类型的比较的值相等.类的比较的内存的地址,即是否是同一个对象,在不覆盖equals的情况下,同比较内存地址,原实现也为 == ,如St ...

  7. 如何正确地安装MathType 7?

    作为一名资深的公式编辑器用户,在新版本MathType 7上线的第一时间,已经去体验了一把.那么要如何正确地安装呢?下面就来详细地介绍下它的安装方法. 步骤一 双击下载好的应用程序,就可以开始安装软件 ...

  8. 为什么企业需要CRM系统?CRM的作用及其重要性分析

    客户管理系统(CRM)是企业核心应用软件之一,对于提高企业业绩起着至关重要的作用,现在很多企业都在客户发展方面投入大量的资金,以求获得更好的回报. 关于CRM CRM是一个客户数据中心,在CRM中,你 ...

  9. 商业智能(BI)可视化大屏的设计及使用原则

    信息时代,数据是一种可贵的资源,我们可能经常听到的一句话就是:用数据说话.但是,在没有进行系统化整理之前,数据不过只是一串串冰冷的数字,我们很难从大量的数据中获取到有价值的信息.只有通过合适的可视化工 ...

  10. 2020.7.19 区间dp阶段测试

    打崩了-- 事先说明,今天没有很在状态,所以题解就直接写在代码注释里的,非常抱歉 T1 颜色联通块 此题有争议,建议跳过 题目描述 N 个方块排成一排,第 i 个颜色为 Ci .定义一个颜色联通块 [ ...