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)

大家都在看

  • xshell使用小技巧

    方便复制:Tool –> options –> right buttion(paste the clipboard contents) and …

    Linux 2023年6月7日
    091
  • Windows通过命令行共享文件

    基本语法: 比如: 与域中的每个人共享文件夹E:\Documents并授予完全权限 如果允许多个用户访问共享,则可以限制同时访问共享的用户数量。这将防止对系统的性能影响。以下命令将…

    Linux 2023年6月8日
    0122
  • 【Linux】在Linux下文件io使用(二)

    在linux下,一切皆文件。当文件被打开时,会返回文件描述符用于操作该文件,从shell中运行一个进程,默认会有3个文件描述符存在(0、1、2); 0表示标准输入,1表示标准输出,…

    Linux 2023年6月13日
    0116
  • [Git系列] 前言

    Git 简介 Git 是一个重视速度的分布式版本控制和代码管理系统,最初是由 Linus Torvalds 为开发 Linux 内核而设计并开发的,是一款遵循二代 GUN 协议的免…

    Linux 2023年6月14日
    0108
  • Linux CURL的安装和使用

    –获得安装包,从网上直接下载或者其他途径,这里直接wgetwget http://curl.haxx.se/download/curl-7.17.1.tar.gz&#8…

    Linux 2023年6月13日
    086
  • 使用shell脚本连接钉钉机器人发送消息

    一、前言 服务器上有时 定时任务、重要接口 等出现异常,导致数据不正常,不能及时通知到服务负责人,及时处理问题。所以引入”钉钉”作为通知工具,当服务出现异常…

    Linux 2023年5月28日
    0117
  • 学习

    1.1、参考博客 参考的教程如下: Original: https://www.cnblogs.com/agui125/p/16032402.htmlAuthor: 风御之举Tit…

    Linux 2023年6月13日
    0102
  • 编写 Shell 程序,实现自动删除 50 个账号的功能,账号名为stud1 至 stud50 ?

    #!/bin/bash for((i=1;i<51;i++))< code><code>do</code><code> &am…

    Linux 2023年5月28日
    095
  • 分布式锁

    非分布式下使用锁 利用版本号来检测数据是否发生变化,从而判断是否能进行更新 JAVA 使用比较交换机制-CAS(Compare And Swap)机制实现 i++非线程安全,使用原…

    Linux 2023年6月7日
    095
  • 五、用户管理

    id root查看用户uiduid 0管理员uid 1-999系统账号uid 1000-60000普通账号gid 0 管理组gid 1-999 系统组gid 1000-60000 …

    Linux 2023年6月7日
    080
  • Redis之事务

    一.是什么 可以一次执行多个命令,本质是一组命令的集合。一个事务中的所有命令都会序列化,按顺序地串行化执行而不会被其它命令插入,不许加塞二.能干嘛 一个队列中,一次性、顺序性、排他…

    Linux 2023年5月28日
    0101
  • Ubuntu18开启默认root登录方法

    默认的Ubuntu 18.04系统在登陆界面上是不支持root用户直接登录的,但是你可以使用下面的方法让Ubuntu 18.04也支持root登录,其他类似的版本参考在Ubuntu…

    Linux 2023年6月7日
    099
  • 附032.Kubernetes实现蓝绿发布

    蓝绿发布原理 蓝绿发布本质上是希望能优雅无误的迭代应用,以便于使应用平稳提供服务。通常是不停老版本的同时对新版本进行先发布,然后确认无误后进行流量切换,即并行部署。Kubernet…

    Linux 2023年6月13日
    095
  • eMule电骡使用教程

    eMule(电骡)是一个不错的下载器。实际上它是一个文件分享平台,但你可以把它当做一个自带资源搜索的bt下载器,如下图。虽然用户不多(我下午看在线有10万),下载速度一般,比较好的…

    Linux 2023年6月6日
    0148
  • spring boot @Validated注解不生效[转]

    问题: 接口上添加了@Validated注解,但是bindingResult.hasErrors()的结果却是false,即一直不能返回验证信息,@Validated不生效,排查了…

    Linux 2023年6月8日
    0100
  • Linux巡检脚本

    #!/bin/bash sys:centos6.x/7.x [ $(id -u) -ne 0 ] && echo "&#x8BF7;&#x…

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