MySQL运维4-Mycat入门

这篇具有很好参考价值的文章主要介绍了MySQL运维4-Mycat入门。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、mycat概述

  mycat是阿里巴巴企业下的开源的,基于JAVA语言编写的MySQL数据库中间件,可以像使用MySQL一样来使用Mycat,对于开发人员来说根本感觉不到mycat的存在。之前在国内使用数据库分库分表,读写分离最主流的就是使用mycat,但是截止到今日2023-12-13日,mycat的网站的下载链接已经不能打开了,不知道是服务器暂时出问题,还是没有人维护了,以后都不在支持更新下载了,但是作为曾经的主流中间件,我个人觉得还是有必要学习一下。我之前保留了Mycat1.6的linux版本现在分享给大家

  mycat1.6: 链接: https://pan.baidu.com/s/1fq8LddDexRBqzBhZi4760Q 提取码: hjif

  JDK8: 链接: https://pan.baidu.com/s/1sQhSR5GgmxB3STpihOqCAw 提取码: 0b6l

  mysql-connector的jar包:链接: https://pan.baidu.com/s/1kxhqT8eB-V5Az5qpxT8nhw 提取码: 23pu

  MySQL运维4-Mycat入门 

  

二、准备测试环境

  2.1 JDK 安装

    因为mycat是基于JAVA语言编写的,所以在安装mycat的时候,需要先安装JDK,mycat需要的JDK8,可以使用我给的JDK链接下载后安装,也可以直接在线安装。

    在线安装指令:yum install java-1.8.0-openjdk* -y (基于centos7上的安装)

    安装好之后,运行 java -version,看到一下输出表示安装成功

[root@localhost centos7]# java -version
openjdk version "1.8.0_392"
OpenJDK Runtime Environment (build 1.8.0_392-b08)
OpenJDK 64-Bit Server VM (build 25.392-b08, mixed mode)

  2.2 MySQL服务器准备

    因mycat主要功能有分库分表和读写分离,所以至少需要准备两台具有mysql(8.0.27)服务的服务器,这里我准备了三台测试服务器.

    服务器1:192.168.3.90 安装了JDK8, MySQL-8.0.27

    服务器2:192.168.3.91 安装了JDK8, MySQL-8.0.27,mycat1.6

    服务器3:192.168.3.92 安装了JDK8, MySQL-8.0.27

    说明服务器1和服务器3作为mysql服务器使用,服务器2即作为mysql服务器使用,也作为mycat服务器使用。

    MySQL运维4-Mycat入门

   2.3 Mycat准备

    将下载好的 Mycat-server-1.6.7.3-release-20210913163959-linux.tar.gz 和 mysql-connector-java-8.0.27.jar 放在192.168.3.91服务器的 /usr/local/下

    MySQL运维4-Mycat入门

     解压 Mycat : tar -zxvf Mycat-server-1.6.7.3-release-20210913163959-linux.tar.gz    

    MySQL运维4-Mycat入门

    解压之后就会有一个mycat文件夹

三、Mycat文件目录

  进入到mycat文件夹,可以看到里面有5个文件夹一个版本说明的文件

  MySQL运维4-Mycat入门

  • bin: 存放可执行文件,用于启动停止mycat
  • conf: 存放mycat的配置文件
  • lib: 存放mycat的项目依赖包(jar包)
  • logs: 存放mycat的日志文件

  说明:因为Mycat1.6 默认的mysql连接器是是mysql5+的版本,现在我的mysql版本都是8+的,所以需要将mycat的mysql连接器替换一下,而替换的文件,就是我给大家下载的mysql-connector-java-8.0.27.jar,这是mysql8+的的连接器。

  替换步骤,首先进入到mycat的lib文件中找到:mysql-connector-java-5.1.35.jar ,然后删除,在将我给大家的 mysql-connector-java-8.0.22.jar 复制进来

  MySQL运维4-Mycat入门

  MySQL运维4-Mycat入门

  注意:复制的这个进入是没有执行权限了,需要给mysql-connector-java-8.0.27.jar 增加执行权限:chmod 777 mysql-connector-java-8.0.27.jar

  MySQL运维4-Mycat入门

 文章来源地址https://www.toymoban.com/news/detail-759863.html

 四、mycat逻辑结构

  MySQL运维4-Mycat入门

  说明:mycat只做逻辑处理,并不保存数据,其真实数据仍然是保存在mysql数据库中的。

 

 五、mycat小案例

  5.1 需求

    现有tb_order数据表,表中数据量很大,磁盘IO及容量都达到瓶颈,现在需要对tb_order表进行数据分片,分为三个数据节点,每个节点主机位于不同的服务器上,在dataNode1,dataNode2和dataNode3中TB_ORDER的表结构一样,保存的数据不一样,即采用水平分表的策略保存数据。结构如下:  

    MySQL运维4-Mycat入门

  5.2 创建数据库

    原始数据库:里面处理系统创建的数据库外,没有任何自己创建的数据库。

    MySQL运维4-Mycat入门

    现在需要根据需求在每个服务器上都创建db01数据库

    MySQL运维4-Mycat入门

  5.3 mycat分片配置schema.xml

    在mycat中做分片配置的主要是在conf文件夹下面的schema.xml中配置,里面有关于逻辑库、逻辑表、数据节点、节点主机、分片规则等配置。

    MySQL运维4-Mycat入门

     修改后的schema.xml如下

    MySQL运维4-Mycat入门

  5.4 mycat 用户及权限配置server.xml

    server.xml的配置比较多,我们只需要更改其中user的部分

    MySQL运维4-Mycat入门 

  5.5 mycat 启动

    切换到mycat的安装目录中的bin文件夹下,执行如下指令 ./mycat start (启动) 和 ./mycat stop (停止),mycat 默认端口 8066

    MySQL运维4-Mycat入门

    注意:我们要想判断mycat是否启动成功可以使用 tail -f /usr/local/mycat/logs/wrapper.log 查看日志,如果日志中出现"MyCAT Server startup successfully. see logs in logs/mycat.log" 则说明启动成功

  5.6 mycat 登录

    登录指令:mysql -h 192.168.3.91 -P 8066 -uroot -p, 这个指令是和普通的mysql数据库连接是一样的,所以使用mycat对程序员来说是无感的。

    MySQL运维4-Mycat入门

    然后创建TB_ORDER表,这是报了一个错误:ERROR 1105 (HY000): backend connect: java.lang.IllegalArgumentException: Invalid DataSource:0

    MySQL运维4-Mycat入门

    这里报的错误未必就是其具体的错误描述,至于到底是什么错误,需要我们去看一下mycat.log中的具体问题

    MySQL运维4-Mycat入门

    这个错误表明数据库服务器在192.168.3.30上因为连接错误被阻止了。你可能在某个地方有一台尝试连接到这个数据库服务器的设备或应用程序,导致了连接错误。需要使用mysqladmin -u root -p flush-hosts 解除阻止就行了。

    MySQL运维4-Mycat入门

    注意:mysqladmin是mysql的指令,需要进入到mysql安装目录下的bin目录下,或者将该指令添加到了环境变量中,方可直接使用。

      MySQL运维4-Mycat入门

    在此创建表,即可成功

    MySQL运维4-Mycat入门

    MySQL运维4-Mycat入门

  关于mycat小案例,启动mycat,使用mycat连接数据库,使用mycat创建表就演示到这里,后面的博客继续讲解mycat的使用

 

 

  

 

到了这里,关于MySQL运维4-Mycat入门的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MySQL运维14-管理及监控工具Mycat-web的安装配置

    Mycat-web(现改名为Mycat-eye)是对Mycat-server提供监控服务,通过JDBC连接对Mycat,MySQL监控,监控远程服务器的cpu,内存,网络,磁盘等情况的使用。Mycat-web运行过程中需要依赖zookeeper,因此需要先安装zookeeper,下载地址如下: zookeeper:链接:  https://pan.baidu.com/s/1LiQ5qg15Lft0okUDYi9oGg 提取码:

    2024年02月04日
    浏览(35)
  • 纯干货版阿里巴巴国际站入门攻略

    阿里巴巴国际站作为目前全球排名名列前茅的B2B电商平台,很多跨境电商卖家都很想入局。但是目前很多公司的国际站都没有专职运营的人员,只是靠外贸业务员操作,所以涉猎的都是比较浅的东西。今天龙哥就来讲讲如果想要深研这个平台的话,我们需要从哪几步开始。

    2024年02月06日
    浏览(29)
  • 阿里巴巴开源DataX全量同步多个MySQL数据库

    上次 写了阿里巴巴高效的离线数据同步工具DataX: https://mp.weixin.qq.com/s/_ZXqA3H__Kwk-9O-9dKyOQ 安装DataX这个开源工具,并且同步备份了几张数据表。但是发现一个问题,就是每张表都需要单独写一个 job。如果数据表有几百张是不是要写几百个,这个不太现实了。 正当一筹莫展之际

    2024年02月02日
    浏览(52)
  • 阿里巴巴集团

    阿里巴巴集团控股有限公司 (简称:阿里巴巴集团) 是马云带领下的18位创始人于1999年在浙江省杭州市创立的公司。 [272]  阿里巴巴集团经营多项业务,另外也从关联公司的业务和服务中取得经营商业生态系统上的支援。业务和关联公司的业务包括:淘宝网、天猫、聚划算

    2024年02月03日
    浏览(54)
  • 数据分片概述、环境准备、部署MyCAT服务、全局表、分片表、ER表

    1.1 问题 把主机mysql60 配置为 MySQL59 的从服务器 把主机mysql62 配置为 MySQL61 的从服务器 把主机mycat63 配置为mycat服务器 客户端192.168.88.50访问mycat服务 1.2 方案 准备6台虚拟机,具体配置如表-1 1.3 步骤 实现此案例需要按照如下步骤进行。 步骤一:把MySQL60配置为MySQL59的从服务器

    2024年01月19日
    浏览(31)
  • 溯源阿里巴巴的中台架构

    明朝可以说是中国封建王朝中最后一个由汉人统治的王朝,就算是最后清王朝也是不断的学习汉人的治国方略,但是学习最多的当然是明朝。 其实阿里巴巴的中台战略其实和明朝的历史还是蛮像的,这里小编就和大家好好的探讨一下。 今天先来从明朝的治国方略中去解析架

    2024年01月22日
    浏览(58)
  • Java阿里巴巴代码规范

    想学习架构师构建流程请跳转:Java架构师系统架构设计 我们介绍了让代码规范的方案,下面我们就来说一下阿里的代码规范文档 1.1.1 反例 这种操作很容易产生难以排查的NPE异常 1.1.2 正例 入参以及出参,和参数传递类型是一致的 SimpleDateFormat 是线程不安全的类,一般不要定

    2024年02月10日
    浏览(56)
  • 阿里巴巴今年计划招聘15000人

    据媒体报道,阿里巴巴集团宣布将在2023年招聘15000名新员工,其中包括3000名校招人才。 这一消息的发布,也为最近关于淘宝天猫、阿里云、菜鸟、本地生活等业务裁员的谣言敲响了谣言的警钟。 阿里巴巴官微表示,“近日,关于淘宝天猫、阿里云、菜鸟、本地生活各个业务

    2024年02月06日
    浏览(49)
  • 阿里巴巴数字化转型的启示

    阿里巴巴(简称阿里)作为数字化转型的倡导者和先驱者, 率先成功实现了数字化转型。其成功转型带来的利好鼓舞了更多企业积极投身数字化,尤其是淘宝的数字化转型过程为其他企业提供了很多值得借鉴的经验,本文将对这些内容加以阐述。 01 淘宝的数据使用和数字化

    2024年02月04日
    浏览(47)
  • 钉钉小程序引用阿里巴巴图标

    2.打开的界面如图,先建一个iconfont.acss文件,全选浏览器打开的样式代码,复制粘贴进新建的iconfont.acss文件中 3.使用

    2024年02月11日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包