Mycat的简单使用(一)【初了解】

在这里插入图片描述

8、正常情况下,SlaveIORunning 和 SlaveSQLRunning 都是No,因为我们还没有开启主从复制过程。使用start slave;开启主从复制过程,然后再次查询主从同步状态show slave status \G;

在这里插入图片描述

在这里插入图片描述

测试主从复制


测试主从复制方式就十分多了,最简单的是在Master创建一个数据库,然后检查Slave是否存在此数据库。

1、再打开一个虚拟机,进入到Master(db1):

在这里插入图片描述

在这里插入图片描述

2、这个是Slaver(db2)的数据库:

在这里插入图片描述

3、在Master(db1)中创建一个数据库:

create database testdb;

在这里插入图片描述

4、在Slaver(db2)中查看:

在这里插入图片描述

到此证明主从复制配置正确。

在宿主机上安装mysql客户端,测试连通性


yum install -y mysql

mysql -uroot -p123456 -h 172.17.0.2 -P 3306

mysql -uroot -p123456 -h 172.17.0.3 -P 3306

没有安装过mysql客户端的,先执行第一条语句安装,我装过了,就不演示了。

-h 后面的容器的ip是上面查到了,不是说都是这样的。

在这里插入图片描述

Mycat安装启动

===================================================================

Mycat使用Java编写,所以需要提前安装jdk,安装jdk课一看我的另外一篇博客:学妹跑过来抱着我的胳膊让我帮她在Linux上装jdk【手把手教学】【需要提前下载jdk】

安装jdk


**1、我们也可以利用华为云镜像直接下载jdk

我一般放在 /opt目录下:**

#切换目录

cd /opt

#下载

wget https://repo.huaweicloud.com/java/jdk/8u192-b12/jdk-8u192-linux-x64.tar.gz

#解压

tar -zxvf jdk-8u201-linux-x64.tar.gz

在这里插入图片描述

2、创建符号连接统一管理(可选),以后有新版本,只要更改这个连接就可以了:

ln -s /opt/jdk1.8.0_192 /usr/jdk

3、修改环境变量:

vi /etc/profile

在末尾添加如下内容:

JAVA_HOME=/usr/jdk

CLASSPATH=$JAVA_HOME/lib/

PATH= P A T H : PATH: PATH:JAVA_HOME/bin

export PATH JAVA_HOME CLASSPATH

4、使配置生效:

source /etc/profile

5、检查是否安装成功:

java -version

在这里插入图片描述

下载解压Mycat


1、切换到/opt目录,使用wget 下载压缩包

#切换目录

cd /opt/

#下载

wget http://dl.mycat.org.cn/1.6-RELEASE/Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz

#查看

ll |grep My

#解压

tar -zxvf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz

#查看

ll

在这里插入图片描述

文件复制


1、将解压后的目录copy到 /usr/local目录中(在opt目录下操作)

cp -r mycat/ /usr/local/

ls /usr/local/

2、查看mycat目录及mycat的配置文件目录

cd /usr/local/mycat/

ls

cd conf/

ls

在这里插入图片描述

**其中主要的几个配置文件如下:

server.xml:是Mycat服务器参数调整和用户授权的配置文件。

schema.xml:是逻辑库定义和表以及分片定义的配置文件。

rule.xml: 是分片规则的配置文件,分片规则的具体一些参数信息单独存放为文件,也在这个目录下,配置文件修改需要重启MyCAT。

log4j.xml: 日志存放在logs/log中,每天一个文件,日志的配置是在conf/log4j.xml中,根据自己的需要可以调整输出级别为debug

debug级别下,会输出更多的信息,方便排查问题。

autopartition-long.txt,partition-hash-int.txt,sequence_conf.properties, sequence_db_conf.properties 分片相关的id分片规则配置文件

lib MyCAT自身的jar包或依赖的jar包的存放目录。

logs MyCAT日志的存放目录。日志存放在logs/log中,每天一个文件**

配置


1、需要安装jdk,修改jdk环境,即编辑/usr/local/mycat/conf/wrapper.conf

vi /usr/local/mycat/conf/wrapper.conf

配合java命令绝对路径

wrapper.java.command=/opt/jdk1.8.0_291/bin/java

在这里插入图片描述

修改server.xml

vi server.xml

完整的配置文件如下:

<?xml version="1.0" encoding="UTF-8"?>

<mycat:server xmlns:mycat=“http://io.mycat/”>

0

0

2

0

0

1

1m

1k

0

384m

true

123456

TESTDB

user

TESTDB

true

</mycat:server>

修改schema.xml

vi schema.xml

修改dataNode、dataHost

完整的配置文件如下:

<?xml version="1.0"?>

<mycat:schema xmlns:mycat=“http://io.mycat/”>

<dataHost name=“host1” maxCon=“1000” minCon=“10” balance=“2”

writeType=“0” dbType=“mysql” dbDriver=“native” switchType=“1” slaveThreshold=“100”>

select user()

</mycat:schema>

启动


**到mycat/bin目录执行shell脚本

控制台启动 ./mycat console

后台启动 ./mycat start**

cd /usr/local/mycat/bin

pwd

ls

./mycat

./mycat console

在这里插入图片描述

[root@bogon opt]# cd /usr/local/mycat/bin

[root@bogon bin]# pwd

/usr/local/mycat/bin

[root@bogon bin]# ls

dataMigrate.sh init_zk_data.sh mycat rehash.sh startup_nowrap.sh wrapper-linux-ppc-64 wrapper-linux-x86-32 wrapper-linux-x86-64

[root@bogon bin]# ./mycat

Usage: ./mycat { console | start | stop | restart | status | dump }

[root@bogon bin]# ./mycat console

Running Mycat-server…

wrapper | --> Wrapper Started as Console

wrapper | Launching a JVM…

jvm 1 | Java HotSpot™ 64-Bit Server VM warning: ignoring option MaxPermSize=64M; support was removed in 8.0

jvm 1 | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org

jvm 1 | Copyright 1999-2006 Tanuki Software, Inc. All Rights Reserved.

jvm 1 |

jvm 1 | 2021-06-16 18:06:19,874 [INFO ][WrapperSimpleAppMain] total resouces of dataHost host1 is :2 (io.mycat.backend.datasource.PhysicalDBPool:PhysicalDBPool.java:100)

jvm 1 | 2021-06-16 18:06:19,897 [INFO ][WrapperSimpleAppMain] create layer cache pool TableID2DataNodeCache of type encache ,default cache size 10000 ,default expire seconds18000 (io.mycat.cache.CacheService:CacheService.java:125)

jvm 1 | 2021-06-16 18:06:19,914 [INFO ][WrapperSimpleAppMain] create child Cache: TESTDB_ORDERS for layered cache TableID2DataNodeCache, size 50000, expire seconds 18000 (io.mycat.cache.DefaultLayedCachePool:DefaultLayedCachePool.java:80)

jvm 1 | 2021-06-16 18:06:35,102 [INFO ][WrapperSimpleAppMain] dyna class load from ./catlet,and auto check for class file modified every 60 seconds (io.mycat.config.classloader.DynaClassLoader:DynaClassLoader.java:34)

jvm 1 | 2021-06-16 18:06:35,103 [INFO ][WrapperSimpleAppMain] =============================================== (io.mycat.MycatServer:MycatServer.java:266)

jvm 1 | 2021-06-16 18:06:35,104 [INFO ][WrapperSimpleAppMain] MyCat is ready to startup … (io.mycat.MycatServer:MycatServer.java:267)

jvm 1 | 2021-06-16 18:06:35,105 [INFO ][WrapperSimpleAppMain] Startup processors …,total processors:4,aio thread pool size:8

超时错误解决办法


显示上面这样就是启动成功了,有时可能会出现超时的错误:

wrapper | Startup failed: Timed out waiting for signal from JVM.

解决办法:

cd /usr/local/mycat/conf

vi wrapper.conf

在wrapper.conf最下方添加:

wrapper.ping.timeout=120

wrapper.startup.timeout=300

在这里插入图片描述

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

最后

本人分享一下这次字节跳动、美团、头条等大厂的面试真题涉及到的知识点,以及我个人的学习方法、学习路线等,当然也整理了一些学习文档资料出来是附赠给大家的。知识点涉及比较全面,包括但不限于前端基础,HTML,CSS,JavaScript,Vue,ES6,HTTP,浏览器,算法等等

详细大厂面试题答案、学习笔记、学习视频等资料领取,点击资料领取直通车免费领取!

前端视频资料:
PO等大厂,18年进入阿里一直到现在。**

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

[外链图片转存中…(img-xMpPttns-1713547622475)]

[外链图片转存中…(img-lqwW49yT-1713547622476)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

[外链图片转存中…(img-gPSv7KgU-1713547622476)]

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

[外链图片转存中…(img-QlWMJtGu-1713547622477)]

最后

本人分享一下这次字节跳动、美团、头条等大厂的面试真题涉及到的知识点,以及我个人的学习方法、学习路线等,当然也整理了一些学习文档资料出来是附赠给大家的。知识点涉及比较全面,包括但不限于前端基础,HTML,CSS,JavaScript,Vue,ES6,HTTP,浏览器,算法等等

详细大厂面试题答案、学习笔记、学习视频等资料领取,点击资料领取直通车免费领取!

[外链图片转存中…(img-sLePFf8u-1713547622477)]

前端视频资料:

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
它是一个开源的分布式数据库系统,是一个实现了 MySQL 协议的的 Server,前端用户可以把它看作是一个数据库代理,用 MySQL 客户端工具和命令行访问,而其后端可以用 MySQL 原生(Native)协议与多个 MySQL 服务器通信,也可以用 JDBC 协议与大多数主流数据库服务器通信, 其核心功能是分表分库,即将一个大表水平分割为 N 个小表,存储在后端 MySQL 服务器里或者其他数据库里。 Mycat 发展到目前的版本,已经不是一个单纯的 MySQL 代理了,它的后端可以支持 MySQL、SQL Server、 Oracle、DB2、PostgreSQL 等主流数据库,也支持 MongoDB 这种新型 NoSQL 方式的存储,未来还会支持更 多类型的存储。而在最终用户看来,无论是那种存储方式,在 Mycat 里,都是一个传统的数据库表,支持标准的 SQL 语句进行数据的操作,这样一来,对前端业务系统来说,可以大幅降低开发难度,提升开发速度,在测试阶 段,可以将一个表定义为任何一种 Mycat 支持的存储方式,比如 MySQL 的 MyASIM 表、内存表、或者 MongoDB、LevelDB 以及号称是世界上最快的内存数据库 MemSQL 上。试想一下,用户表存放在 MemSQL 上, 32 大量读频率远超过写频率的数据如订单的快照数据存放于 InnoDB 中,一些日志数据存放于 MongoDB 中,而且 还能把 Oracle 的表跟 MySQL 的表做关联查询,你是否有一种不能呼吸的感觉?而未来,还能通过 Mycat 自动 将一些计算分析后的数据灌入到 Hadoop 中,并能用 Mycat+Storm/Spark Stream 引擎做大规模数据分析,看 到这里,你大概明白了,Mycat 是什么?Mycat 就是 BigSQL,Big Data On SQL Database。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值