mycat数据库集群系列之mycat读写分离安装配置

最近在梳理数据库集群的相关操作,现在花点时间整理一下关于mysql数据库集群的操作总结,恰好你又在看这一块,供一份参考。本次系列终结大概包括以下内容:多数据库安装、mycat部署安装、数据库之读写分离主从复制、数据库之双主多重、数据库分库分表。每一个点,有可能会对应一篇或者多篇文章,由于还要继续上班工作,所以本系列分享预计持续时间需要10天左右,有兴趣的您可以持续关注。我是一个菜鸟,如果写的不好的地方,望多多指点和包涵。

好了,直接进入本次的主题:mycat读写分离模式配置安装。

一、简介

mycat是干嘛的呢?首先我们来简单的了解一下mycat到底是干嘛的:MyCat 是目前最流行的基于 java 语言编写的数据库中间件,是一个实现了 MySQL 协议 的服务器,前端用户可以把它看作是一个数据库代理,MyCat 发展到目前的版本,已经不是一个单纯的 MySQL 代理了,它的后端可以支持MySQL、SQL Server、Oracle、DB2、PostgreSQL 等主流数据库,也支持 MongoDB 这种新型NoSQL 方式的存储,未来还会支持更多类型的存储。

简单的说,Mycat是一个数据库集群操作中间件,实现了数据库的:读写分离、主从切换、分库分表等业务,但是对我们程序员在使用上来说,是封装的,和平时使用单库单表操作无差别。其它的就不在此忽悠了,网上介绍多如牛毛。

mycat数据库集群系列之mycat读写分离安装配置

mycat数据库集群系列之mycat读写分离安装配置

二、环境准备

1、JDK安装

前面已经介绍了mycat是用java写的,所以第一个环境要求就是要jdk环境,并且jdk是1.8+。

Jdk安装包下载,我最开始在官网下载,下载的速度超慢,今天就不推荐官网下载地址了,今天给大家推荐的是国内华为大佬提供的下载地址,当然上面包的更新速度没有官网及时,但是够用了,目前是13+。

直接上地址:https://repo.huaweicloud.com/java/jdk/13+33/?C=M&O=D

下载速度但是杠杠的,分分钟下载完毕:

mycat数据库集群系列之mycat读写分离安装配置

根据自己的电脑环境,选择对应的包下载即可,由于本次是在win10上实操,所我现在的是win-64。

下载完毕后,直接点击exe安装包,傻瓜式的下一步下一步即可完成安装操作。

安装完毕后,接下来就是配置一下环境变量

电脑-》属性-》高级系统配置-》高级-》环境变量-》

在系统变量中的新建变量:

先新建变量名:JAVA_HOME,变量值为:

C:\Program Files\Java\jdk-13  (jdk安装位置)

接着在PATH变量名中分别添加以下两个值:

%JAVA_HOME%\bin

查看jdk是否安装成功

进入cmd:

输入:java -version

mycat数据库集群系列之mycat读写分离安装配置

2、mycat下载

Mycat下载途径有很多种,可以直接在mycat官网下载、github、其它地址下载,具体下载地址,可以根据自己的网络来选择适合自己的下载方式

mycat官网下载: http://dl.mycat.io

github下载:https://github.com/MyCATApache/Mycat-download

其它下载地址:http://dl.mycat.org.cn/

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

我最终的下载地址是在http://dl.mycat.org.cn/上下载的。

mycat数据库集群系列之mycat读写分离安装配置

根据机器环境和版本要求,选择对应的版本的环境下载完成即可。

下载好mycat后,将文件解压到存放的文件目录,我只放在E盘下,只根据实际磁盘来自由选择:E:\Program Files\mycat

mycat数据库集群系列之mycat读写分离安装配置

三、mycat配置主从复制

Mycat的使用配置,我们先从最简单的模式(主从复制)开始配置起走。Mycat主从复制主要配置文件有如下两个文件,两个文件都在mycat目录\conf下。

  • server.xml: 配置文件包含了mycat的系统配置信息
  • schema.xml:涵盖了mycat的逻辑库,表,分片规则,分片节点及数据源。

server.xml配置文件

server.xml主要涉及到两个标签的配置,

  • system标签:主要配置系统相关的配置,在此不在做详细的描述,根据实际需要在去配置;
  • user标签:主要用于定义登录mycat的用户和权限,这也是本次需要介绍的配置节点。user标签可以同时配置多个节点。

csharp;gutter:true; xuyuanhong</p> <pre><code>test </code></pre> <pre><code> ## schema.xml配置文件 schema配置文件是我们这一次介绍的关键配置文件,该配置文件会配置具体是mycat逻辑库和实际数据库的映射关系,以及分库分表规则,读写规则等等。本次还是只介绍其读写分离的配置方式。由于配置信息很多,直接看详细的配置说明。 ;gutter:true;
select user()

四、mycat启动及其常用操作命令

  • 首先需要进入到mycat安装目录的bin目录下
cd E:\Program Files\mycat\bin
  • 开启mycat
mycat.bat start
  • 停止mycat
mycat.bat stop
  • 重启mycat
mycat.bat restart
  • 查看mycat状态
mycat.bat status

mycat数据库集群系列之mycat读写分离安装配置

五、mycat中遇到的问题解决

其实在实际mycat配置时,我也不是一次配置成功的,也遇到了两个小问题,现在罗列出来,如果刚刚你也遇到了正好可以解决掉。

1、Unrecognized VM option ‘AggressiveOpts’

解决方式:打开wrapper.conf配置文件,找到AggressiveOpts并将整行注释掉即可,如下图所示:

mycat数据库集群系列之mycat读写分离安装配置

2、Could not create the Java Virtual Machine.

该问题有可能是设置才内存超出本地环境实际内存,处理方式也简单,直接将wrapper.conf对应的内存改小即可。如下图位置:

有关mycat的部署安装、读写分离就分享到这儿了,下一篇将和大家一起分享mycat的多主多重配置,有兴趣的小伙伴,可以持续关注,谢谢!

END
为了更高的交流,欢迎大家关注我的公众号,扫描下面二维码即可关注,谢谢:

mycat数据库集群系列之mycat读写分离安装配置

Original: https://www.cnblogs.com/xiaoXuZhi/p/xyh_mycat_read_write_split.html
Author: 程序员修炼之旅
Title: mycat数据库集群系列之mycat读写分离安装配置

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/611842/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • springboot 工程出现 socket hang up

    出现socket hang up 原因为程序处理时间长,超出了默认请求超时时间,导致socket断开 可以通过设置请求超时时间降低出现的概率以下示例中设置请求超时时间为三分钟 sp…

    Linux 2023年6月8日
    0111
  • 高等代数: 2 行列式

    2 行列式 1、n个不同的自然数的一个全排列称为一个n元排列。 2、顺序、逆序、逆序数:τ(abcd…)(读音:tao)、奇排列、偶排列、对换(a,b) 3、定理1:对…

    Linux 2023年6月8日
    0149
  • 支付宝沙箱

    支付宝支付 ## 支付宝的沙箱环境 – [密钥生成文档](https://opendocs.alipay.com/open/291/105971): 公钥(给别人,方便其他人验证某…

    Linux 2023年6月8日
    0103
  • 关于在Python2中使用列表推导式会遇到的问题

    摘自《流畅的Python》第二部分第二章2.2 Python 2.x 中,在列表推导中 for 关键词之后的赋值操作可能会影响列表推导上下文中的同名变量。像下面这个 Python …

    Linux 2023年6月6日
    0108
  • Greenplum数据库基本操作命令大全-完善ing

    Greenplum数据库基本操作命令大全 select * from pg_stat_activity; datid –16388 datname –hfamlgpdbs &a…

    Linux 2023年6月11日
    097
  • linux设备模型及实例

    1.linux设备模型基本概念 BUS(总线):用于关联设备和驱动,代表一个实际的物理总线(如USB、PCI bus)或虚拟总线(如platform bus),总线会提供与总线相关…

    Linux 2023年6月6日
    0102
  • redis数据库

    这一次主要是接着redis服务器接着进行代码讲解,因为redis服务器中包含大量的数据库,因为redis也对每个数据库设计了结构体 redis数据库 在上面 redisServer…

    Linux 2023年6月13日
    097
  • 理论知识

    多线程的实现方式:1.继承Thread类;2.实现runnable接口;3.实现callable接口通过futrueTask包装器来创建Thread线程; 是继承Thread类号还…

    Linux 2023年6月7日
    0114
  • Docker部署mysql 5.7

    在CentOS或者Linux创建部署目录,用于存放容器的配置和MySQL数据;目的是当重装或者升级容器时,配置文件和数据不会丢失。执行以下命令: a、创建目录: mkdir -p …

    Linux 2023年6月7日
    078
  • 投票活动进行中!探讨问题:从互联网大量收集学习资料再包装成产品售卖盈利是否属于侵权违法?

    写在开篇 今天不聊某项技能的知识点,我们聊点别的。那么,到底聊啥好呢?笔者想想… 有了,这两天笔者从一个微信公众号中发现一个非常恶劣的营销行为。事情大概背景是这样的:运…

    Linux 2023年6月7日
    081
  • 基础算法题

    Problem 3或5的倍数 2: 偶斐波那契数 4:最大回文乘积 5 窗口移动 11:方向数组 13大整数加法 、 14最长考拉兹序列 15:网格路径 25:1000位斐波那契数…

    Linux 2023年6月7日
    0118
  • Spring事务(二)-事务传播行为

    在Spring里,一个事务方法被另外一个事务方法调用时,两个方法的事务应该如何进行,说白话一点,就是说当出现异常需要回滚时,各个方法的数据操作是否要全部回滚,事务传播行为就是决定了…

    Linux 2023年6月6日
    083
  • 以Docker方式安装Redis集群

    以 Redis-6.0.6 为例,先从仓库将镜像拉下来: docker pull redis:6.0.6 Redis 的配置文件和数据文件不能放在镜像中,这里选择容器中的目录和宿主…

    Linux 2023年5月28日
    071
  • Redis快速度特性及为什么支持多线程及应用场景

    转载请注明出处: 1.Redis 访问速度快特性 正常情况下,Redis执行命令的速度非常快,官方给出的数字是读写性能可以达到10万/秒,当然这也取决于机器的性能;Redis使用了…

    Linux 2023年5月28日
    097
  • Log4j 日志框架

    Log4j(Log for java)是 Apache 的一个开源项目,通过使用 Log4j,可以控制日志信息输送的目的地是控制台或文件等,也可以控制每一条日志的输出格式。通过定义…

    Linux 2023年6月8日
    0136
  • laravel源码分析-队列Queue

    队列 (Queue) 是 laravel 中比较常用的一个功能,队列的目的是将耗时的任务延时处理,比如发送邮件,从而大幅度缩短 Web 请求和响应的时间。本文我们就来分析下队列创建…

    Linux 2023年6月7日
    076
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球