我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL 中间件Mycat部署

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL 中间件Mycat部署


	MySQL 中间件Mycat部署
[数据库教程]

什么是MyCat


* 一个彻底开源的,面向企业应用开发的大数据库集群
* 支持事务、ACID、可以替代MySQL的加强版数据库
* 一个可以视为MySQL集群的企业级数据库,用来替代昂贵的Oracle集群
* 一个融合内存缓存技术、NoSQL技术、HDFS大数据的新型SQL Server
* 结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品
* 一个新颖的数据库中间件产品

为什么使用MyCat
如今随着互联网的发展,数据的量级也是撑指数的增长,从GB到TB到PB。对数据的各种 操作也是愈加的困难,传统的关系性数据库已经无法满足快速查询与插入数据的需求。这个时候NoSQL的出现 暂时解决了这一危机。它通过降低数据的安全性,减少对事务的支持,减少对复杂查询的支持,来获取性能上 的提升。但是,在有些场合NoSQL一些折衷是无法满足使用场景的,就比如有些使用场景是绝对要有事务与安 全指标的。这个时候NoSQL肯定是无法满足的,所以还是需要使用关系性数据库。如何使用关系型数据库解决 海量存储的问题呢?此时就需要做数据库集群,为了提高查询性能将一个数据库的数据分散到不同的数据库中 存储,为应对此问题就出现了——MyCat

**Mycat作用为:**
能满足数据库数据大量存储;提高了查询性能

* 读写分离
* 数据分片 垂直拆分(分库) 、 水平拆分(分表) 、 垂直+水平拆分(分库分表)
* 多数据源整合

支持MySQL ORACLE SQLServer等一些主流的数据库
核心技术(分库分表) 数据库分片指:通过某种特定的条件,将我们存放在一个数据库中的数据分散存放 在不同的多个数据库(主机)中,这样来达到分散单台设备的负载,根据切片规则,可分为以下两种切片模式
MyCAT通过定义表的分片规则来实现分片,每个表格可以捆绑一个分片规则,每个分片规则指定一个分片字段 并绑定一个函数,来实现动态分片算法
1.Schema:逻辑库,与MySQL中的Database(数据库)对应,一个逻辑库中定义了所包括的Table。
2.Table:逻辑表,即物理数据库中存储的某一张表,与传统数据库不同,这里的表格需要声明其所存储的逻辑 数据节点DataNode。在此可以指定表的分片规则。
3.DataNode:MyCAT的逻辑数据节点,是存放table的具体物理节点,也称之为分片节点,通过DataSource来 关联到后端某个具体数据库上

DataSource:定义某个物理库的访问地址,用于捆绑到Datanode上
5.分片规则:前面讲了数据切分,一个大表被分成若干个分片表,就需要一定的规则,这样按照某种业务规则 把数据分到某个分片的规则就是分片规则,数据切分选择合适的分片规则非常重要,将极大的避免后续数据处理的难
MyCat部署

#安装jdk环境,为了方便我这里直接yum安装了,jdk必须是1.7以上的版本
[[email protected] ~]# yum -y install java
[[email protected] ~]# java -version 
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
[[email protected] ~]# wget https://github.com/MyCATApache/Mycat-Server/releases/download/Mycat-server-1675-release/Mycat-server-1.6.7.5-release-20200422133810-linux.tar.gz
[[email protected] ~]# tar zxf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz -C /usr/local/
[[email protected] conf]# pwd
/usr/local/mycat/conf
[[email protected] conf]# vim server.xml         # 修改配置文件
#找到最后,找出此模块,这里我是为了不和系统用户root冲突,所以修改为了mycat
             
                123456
                TESTDB
#由于我在修改的途中为了观看清晰删除了很多配置,所以这块为了以防万一就先备份一个副本出来
[[email protected] conf]# cp schema.xml schema.xml.bak
[[email protected] conf]# vim schema.xml 




                   # dataNode指定节点
        
        
                                 # database 指定数据库
        
                select user()
                
                                 # 指定写的数据库主机,及登录账号密码
                        
                               # 指定读的数据主机及账户和密码
                
        

[[email protected] ~]# ln -s /usr/local/mycat/bin/* /usr/bin/       # 做软连接方便使用

MySQL主从配置
1、master配置


[[email protected] ~]# vim /etc/my.cnf 
.....................
log-bin=mysql-bin
server-id=1

mysql> grant replication slave on *.* to [email protected]‘192.168.171.%‘ identified by ‘123‘;            # 赋予权限使从服务器可以连接
mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000001 |      448 |              |                  |                   |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
mysql> create database test1;
mysql> use test1;
mysql> create table tab1(id int primary key auto_increment,name varchar(22));
mysql> insert into tab1 values(1,‘zhang‘),(2,‘li‘),(3,‘zhao‘);
mysql> select * from tab1;
+----+-------+
| id | name  |
+----+-------+
|  1 | zhang |
|  2 | li    |
|  3 | zhao  |
+----+-------+
3 rows in set (0.00 sec)
#赋予权限使mycat能够远程登录
mysql> grant all on *.* to [email protected]‘192.168.171.%‘ identified by ‘123‘;
#将mysql命令复制过去,是mycat能简单使用
[[email protected] ~]# scp /usr/local/mysql/bin/mysql  [email protected]:/usr/bin/

2、slave配置

[[email protected] data]# vim /etc/my.cnf 
.................
relay-log=relay-bin
server-id=2
mysql> change master to master_host=‘192.168.171.135‘,master_user=‘rep‘,master_password=‘123‘,master_log_file=‘mysql-bin.000001‘,master_log_pos=448;
mysql> start slave;
mysql> show slave statusG

技术图片

mysql> use test1;
mysql> select * from tab1;
+----+-------+
| id | name  |
+----+-------+
|  1 | zhang |
|  2 | li    |
|  3 | zhao  |
+----+-------+
3 rows in set (0.00 sec)
#赋予权限使mycat能够远程连接
mysql> grant all on *.* to [email protected]‘192.168.171.%‘ identified by ‘123‘;  

3、测试


[[email protected] ~]# mysql -umycat -p123456 -h 192.168.171.134 -P8066
mysql> show databases; 
+----------+ 
| DATABASE | 
+----------+
| TESTDB   |            # 这个是逻辑库
+----------+ 
1 row in set (0.00 sec) 

mysql> use TESTDB 
mysql> show tables;
+-----------------+
| Tables_in_test1 |
+-----------------+
| tab1            |
+-----------------+
1 row in set (0.00 sec)

mysql> select * from tab1;
+----+-------+
| id | name  |
+----+-------+
|  1 | zhang |
|  2 | li    |
|  3 | zhao  |
+----+-------+
3 rows in set (0.00 sec)

MySQL 中间件Mycat部署

原文地址:https://blog.51cto.com/14306186/2511572

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL 中间件Mycat部署

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL 中间件Mycat部署

什么是MyCat* 一个彻底开源的,面向企业应用开发的大数据库集群* 支持事务、ACID、可以替代MySQL的加强版数据库* 一个可以视为MySQL集群的企业级数据库,用来替代昂贵的Oracle集群* 一个融合内存缓存技术、NoSQL技术、HDFS大数据的新型
MySQL 中间件Mycat部署
2014-05-16

mysql开源中间件怎么部署

要部署MySQL开源中间件,可以按照以下步骤进行操作:下载和安装MySQL开源中间件:首先,从MySQL开源中间件的官方网站或GitHub上下载最新的版本。安装过程可能会有一些特定的步骤,因此请确保按照安装说明进行操作。配置MySQL开源中
2023-10-22

gitee怎么部署中间件

随着互联网的快速发展,各种技术也不断涌现。中间件作为一种重要的技术,在互联网开发中扮演着重要的角色。而如今,中间件已经被广泛使用,成为了开发人员必不可少的技术之一。在本文中,我们将探讨如何在gitee上部署中间件。首先,我们需要了解什么是中
2023-10-22

在 Docker 中部署 Mysql 并挂载配置文件

在 Docker 中部署 MySQL 并挂载配置文件,可以使用以下步骤: 创建本地目录 首先,在主机上创建一个目录,用于存放 MySQL 的配置文件。例如,创建一个名为 mysql 的目录,用于存放 MySQL 的配置文件。 mkdir m
2023-08-22

SpringBoot项目部署在weblogic中间件的使用说明

这篇文章主要介绍“SpringBoot项目部署在weblogic中间件的使用说明”,在日常操作中,相信很多人在SpringBoot项目部署在weblogic中间件的使用说明问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对
2023-06-20

docker中如何部署mysql集群

在Docker中部署MySQL集群可以使用Docker Compose来管理多个MySQL容器,并使用MySQL Router来实现负载均衡和故障转移。以下是一个简单的示例:创建一个名为docker-compose.yml的文件,并在其中定
docker中如何部署mysql集群
2024-04-09

Docker-compose常用软件部署(mysql、redis、rabbitmq)

Docker-compose常用软件部署(mysql、redis、rabbitmq)废话不多说,下面就直接给出部署文件已经启动脚本,这个会持续更新。以下的部署方式均是单例部署。高可用或者其他部署方案我会单独写相应的文章。mysql数据库redis缓存rabbi
Docker-compose常用软件部署(mysql、redis、rabbitmq)
2022-01-08

spring boot整合redis中间件与热部署实现代码

目录热部署RedisJedisRedisTemplate热部署每次写完程序后都需要重启服务器,需要大量的时间,spring boot提供了一款工具devtools帮助实现热部署。org.spri
2023-01-30

编程热搜

目录