iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >Mycat如何部署与使用
  • 712
分享到

Mycat如何部署与使用

2024-04-02 19:04:59 712人浏览 八月长安
摘要

这篇文章将为大家详细讲解有关Mycat如何部署与使用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 MyCAT 可以视为“Mysql”集群的企业级数据库,用来替代昂贵的

这篇文章将为大家详细讲解有关Mycat如何部署与使用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

MyCAT 可以视为“Mysql集群的企业级数据库,用来替代昂贵的oracle集群,其背后是阿里曾经开源的知名产品Cobar。MyCAT的目标是:低成本的将现有的单机数据库和应用平滑迁移到“云”端,解决数据存储和业务规模迅速增长情况下的数据瓶颈问题。

1 应用场景

Mycat 有很多数据分库规则,接下来几篇就相关觉得常用的规则进行试用与总结

一般来说,按自然月份或按日期来进行数据分片的规则比较适用于商城订单查询,类似最近1周、2周、3个月内的数据。或是报表类应用。

这样的数据放在一个片区内省去了数据合并的时间。

当然按月数据量不要过大就OK。

一、部署步骤详解
(1) 用命令行工具或图形化客户端,连接mysql,创建DEMO所用三个分片数据库;

CREATE SCHEMA `range_db_01` DEFAULT CHARACTER SET utf8 ;
CREATE SCHEMA `range_db_02` DEFAULT CHARACTER SET utf8 ;
CREATE SCHEMA `range_db_03` DEFAULT CHARACTER SET utf8 ;
CREATE SCHEMA `range_db_04` DEFAULT CHARACTER SET utf8 ;

(2) 修改配置my.cnf新增以下语句, 一般会放在/etc/my.cnf 或 /etc/mysql/my.cnf,设置为Mysql表名大小写不敏感,否则可能会发生表找不到的问题。

lower_case_table_names = 1

(3) 解压Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz 到安装目录下,会生成mycat目录

(4) 安装jdk-7u79-linux-x64

(5) 修改mycat/conf/wrap.conf 修改wrapper.Java.command=java为上一步存放路径

wrapper.java.command=/usr/java/jdk1.7.0_79/

(6) 创建mycat 用户,改变目录权限为mycat

useradd mycat
chown -R mycat.mycat mycat

(7) 修改用户密码

passwd mycat
输入:

(8) 修改mycat/conf/schema.xml,URL、用户名、密码修改,其余不变

<writeHost host="hostM1" url="192.168.184.56:3306" user="root"
                       passWord="root">

二、运行步骤详解
(1) 进入 mycat/bin (默认数据端口为8066,管理端口为9066)
执行./mycat start
(2) 进入logs目录,查看日志,如果wrapper.log 报错 java.net.BindException: Address already in use 杀掉正在执行的相关java进程

ps -ef|grep java
kill -9 xxx

三、使用步骤详解
(1) 进入mysql bin目录mysql/bin/
(2) 登录mysql 执行以下命令
./mysql -utest -ptest -h292.168.184.56 -P8066 -DTESTDB

(mycat的用户账号和授权信息是在conf/server.xml文件中配置)
(3) 表创建测试

mysql> create table employee (id int not null primary key,name varchar(100),sharding_id int not null);
Query OK, 0 rows affected (0.30 sec)
mysql> explain create table employee (id int not null primary key,name varchar(100),sharding_id int not null);
+-----------+------------------------------------------------------------------------------------------------+
| DATA_node | SQL                                                                                            |
+-----------+------------------------------------------------------------------------------------------------+
| dn1       | create table employee (id int not null primary key,name varchar(100),sharding_id int not null) | 
| dn2       | create table employee (id int not null primary key,name varchar(100),sharding_id int not null) | 
+-----------+------------------------------------------------------------------------------------------------+
2 rows in set (0.04 sec)

(4) 客户端软件使用:navicat
创建mycat新连接:ip:192.168.184.56,用户名:test,密码:test,端口:8066
可看到TESTDB数据库下已创建表:employee
打开db1,db2 数据库也可看到已创建表employee

(5) 插入数据测试

mysql> insert into employee(id,name,sharding_id) values(1,'leader us',10000);
ERROR 2006 (HY000): MySQL server has Gone away
No connection. Trying to reconnect...
Connection id:    6
Current database: TESTDB
Query OK, 1 row affected (0.03 sec)
mysql> explain insert into employee(id,name,sharding_id) values(1,'leader us',10000);
+-----------+-----------------------------------------------------------------------+
| DATA_NODE | SQL                                                                   |
+-----------+-----------------------------------------------------------------------+
| dn1       | insert into employee(id,name,sharding_id) values(1,'leader us',10000) | 
+-----------+-----------------------------------------------------------------------+
1 row in set (0.00 sec)

(6) 根据规则auto-sharding-long(主键范围)进行分片测试

mysql> explain create table company(id int not null primary key,name varchar(100));
+-----------+---------------------------------------------------------------------+
| DATA_NODE | SQL                                                                 |
+-----------+---------------------------------------------------------------------+
| dn1       | create table company(id int not null primary key,name varchar(100)) | 
| dn2       | create table company(id int not null primary key,name varchar(100)) | 
| dn3       | create table company(id int not null primary key,name varchar(100)) | 
+-----------+---------------------------------------------------------------------+
3 rows in set (0.01 sec)

(7) 三个分片上都插入了3条数据

mysql> explain insert into company(id,name) values(1,'hp');
+-----------+---------------------------------------------+
| DATA_NODE | SQL                                         |
+-----------+---------------------------------------------+
| dn1       | insert into company(id,name) values(1,'hp') | 
| dn2       | insert into company(id,name) values(1,'hp') | 
| dn3       | insert into company(id,name) values(1,'hp') | 
+-----------+---------------------------------------------+
3 rows in set (0.00 sec)

(8) 确认是分片存储

mysql> select * from employee;
+----+-----------+-------------+
| id | name      | sharding_id |
+----+-----------+-------------+
|  2 | me        |       10010 | 
|  4 | mydog     |       10010 | 
|  1 | leader us |       10000 | 
|  3 | mycat     |       10000 | 
+----+-----------+-------------+
4 rows in set (0.01 sec)
mysql> explain select * from employee;
+-----------+----------------------------------+
| DATA_NODE | SQL                              |
+-----------+----------------------------------+
| dn1       | SELECT * FROM employee LIMIT 100 | 
| dn2       | SELECT * FROM employee LIMIT 100 | 
+-----------+----------------------------------+
2 rows in set (0.00 sec)

关于“Mycat如何部署与使用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

您可能感兴趣的文档:

--结束END--

本文标题: Mycat如何部署与使用

本文链接: https://www.lsjlt.com/news/62726.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • Mycat如何部署与使用
    这篇文章将为大家详细讲解有关Mycat如何部署与使用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 MyCAT 可以视为“MySQL”集群的企业级数据库,用来替代昂贵的...
    99+
    2022-10-18
  • Mycat安装部署简单使用
    Mycat安装部署简单使用1. 软件准备Mycat:下载地址:https://github.com/MyCATApache/Mycat-download。下载界面图 1‑1 Mycat首页下载界面。任意选中RELEASE版...
    99+
    2021-03-09
    Mycat安装部署简单使用
  • Mycat读写分离以及拆库拆表综合实验2:部署配置mycat读写分离与拆库拆表
    部署 mycat mycat基于java运行,检查java版本 [root@node119 ~]# java -version openjdk version "1.8.0_171" OpenJDK Run...
    99+
    2022-10-18
  • 如何使用pm2部署nodejs
    随着Node.js技术的普及,越来越多的开发者和企业开始使用Node.js进行应用程序的开发和部署。在Node.js应用程序的部署过程中,pm2是一个非常简单易用的工具,它可以帮助你完成Node.js应用程序的各种部署操作,实现灵活的管理和...
    99+
    2023-05-17
  • 如何使用Docker部署Node.js
    这篇文章主要介绍“如何使用Docker部署Node.js”,在日常操作中,相信很多人在如何使用Docker部署Node.js问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何...
    99+
    2022-12-02
    docker node.js
  • 如何使用apache部署react
    这篇文章主要介绍“如何使用apache部署react”,在日常操作中,相信很多人在如何使用apache部署react问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用apache部署react”的疑惑有所...
    99+
    2023-07-04
  • 如何使用Docker部署Confluence
    这篇文章主要为大家展示了“如何使用Docker部署Confluence”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用Docker部署Confluence”这篇文章吧。一、环境要求已安装d...
    99+
    2023-06-15
  • 【模型部署】TensorRT的安装与使用
    文章目录 1.TensorRT的安装1.1 cuda/cudnn以及虚拟环境的创建1.2 根据cuda版本安装相对应版本的tensorRT 2. TensorRT的使用2.1 直接构建2....
    99+
    2023-09-03
    python tensorRT 模型部署
  • MyCAT如何安装使用
    这篇文章主要介绍了MyCAT如何安装使用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 MyCAT安装 mycat运行依赖于...
    99+
    2022-10-18
  • LAMP平台部署与应用
    LAMP平台部署与应用一 安装Apache服务1 删除rpm方式安装的httpdrpm -e httpd --nodeps2 安装支持的软件包yum -y install apr apr-devel cyr...
    99+
    2022-10-18
  • 如何使用docker-compose部署clickhouse
    这篇文章主要介绍如何使用docker-compose部署clickhouse,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!ClickHouse 是一个开源的面向列的 DBMS(由 Yandex 开发)。ClickHo...
    99+
    2023-06-25
  • 如何使用MySQL Sandbox部署mysql
    这篇文章主要为大家展示了“如何使用MySQL Sandbox部署mysql”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用MySQL Sandbox部署m...
    99+
    2022-10-18
  • 怎么进行SparkSQL部署与简单使用
    这篇文章将为大家详细讲解有关怎么进行SparkSQL部署与简单使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、运行环境Ø  JDK:1.8.0_45 64位Ø&nb...
    99+
    2023-06-02
  • 如何对Spring Boot与Docker进行部署
    这篇文章给大家介绍如何对Spring Boot与Docker进行部署,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。开启Docker远程访问首先需要开启docker远程访问功能,以便可以进行远程操作。CentOS 6修改...
    99+
    2023-05-31
    springboot dock docker
  • Linux上如何使用Dcoker部署GitLab
    本篇内容主要讲解“Linux上如何使用Dcoker部署GitLab”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux上如何使用Dcoker部署GitLab”吧!概述GitLab 是一款基于...
    99+
    2023-07-05
  • 如何使用docker部署react项目
    今天小编给大家分享一下如何使用docker部署react项目的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。使用docker部...
    99+
    2023-07-04
  • 如何使用dockerfile部署springboot项目
    这篇文章主要讲解了“如何使用dockerfile部署springboot项目”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用dockerfile部署springboot项目”吧!一、d...
    99+
    2023-07-06
  • Docker中如何使用Compose部署ELK
    这篇文章给大家介绍Docker中如何使用Compose部署ELK,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1.1定义对于大规模的日志,需要集中化的管理。而ELK提供了一整套解决方案,并且都是开源软件,之间互相配合使...
    99+
    2023-06-20
  • 如何进行classLoader卸载与JVM热部署
    本篇文章为大家展示了如何进行classLoader卸载与JVM热部署,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。classLoader的卸载机制jvm中没有提供class及classloader的...
    99+
    2023-06-17
  • 如何使用Docker部署Spring Boot开源
    这篇文章给大家介绍如何使用Docker部署Spring Boot开源,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。云收藏项目已经开源2年多了,作为当初刚开始学习 Spring Boot 的练手项目,使用了很多当时很新的...
    99+
    2023-06-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作