• 《Mycat分布式数据库架构》之Mycat管理


    前文回顾:
    《Mycat分布式数据库架构》之原理及架构
    《Mycat分布式数据库架构》之搭建详解
    《Mycat分布式数据库架构》之配置详解
    《Mycat分布式数据库架构》之数据切分和读写分离
    《Mycat分布式数据库架构》之故障切换
    《Mycat分布式数据库架构》之数据切分实战
    《Mycat分布式数据库架构》之全局自增ID
    《Mycat分布式数据库架构》之ER分片
    《Mycat分布式数据库架构》之高可用集群



    1、Mycat管理端口

    在server.xml文件中可配置mycat的管理端口,默认为9066,管理用户也就是server.xml中配置的用户,如下

    DOCTYPE mycat:server SYSTEM "server.dtd">
    <mycat:server xmlns:mycat="http://io.mycat/">
        <system>
            <property name="serverPort">8066property>
            <property name="managerPort">9066property>
            <property name="nonePasswordLogin">0property>
            <property name="bindIp">0.0.0.0property>
            <property name="frontWriteQueueSize">2048property>
            <property name="charset">utf8property>
            <property name="txIsolation">2property>
            <property name="processors">8property>
            <property name="idleTimeout">1800000property>
            <property name="sqlExecuteTimeout">300property>
            <property name="usesqlstat">0property>
            <property name="useGlobleTableCheck">0property>
            <property name="sequnceHandlerType">0property>
            <property name="defaultMaxLimit">100property>
            <property name="maxPacketSize">104857600property>
        system>
        <user name="yxc">
            <property name="password">yxc123456property>
            <property name="schemas">mycatsproperty>
        user>
        <user name="user">
            <property name="password">userproperty>
            <property name="schemas">mycatsproperty>
            <property name="readOnly">trueproperty>
        user>
    mycat:server>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29

    Mycat 提供了类似数据库的管理监控方式,可以通过MySQL命令行登陆管理端口9066执行相应的SQL语句进行管理,可以通过JDBC的方式进行远程连接管理,使用 MySQL 命令行登陆示例如下:

    mysql -h192.168.157.130 -uyxc -p123456 -P9066
    
    • 1

    -h:参数后面是主机IP
    -u:是mycat配置的逻辑库的用户
    -p:是mycat配置的逻辑库的用户密码
    -P:是端口号

    可以使用 show @@help 查询所有命令


    1.1 Reload 命令

    • reload @@config
    该命令用于更新 schema.xml 配置文件,例如更新 schema.xml 文件后在命令窗口输入该命令,不用重启即可进行配置文件的更新,示例如下:

    在这里插入图片描述

    • reload @@config_all
    该命令用于更新所有配置文件,不用重启即可进行配置文件的更新,示例如下:

    在这里插入图片描述


    1.2 Show 命令

    • show @@database
    该命令用于查询显示 Mycat 的数据库列表(逻辑库),示例如下:

    在这里插入图片描述

    • show @@datanode
    该命令用于查询显示 Mycat 数据节点列表,还可以通过 show @@datanode where schema = ? 的方式查询指定逻辑库(区分大小写)的数据节点,示例如下:

    在这里插入图片描述
    -name:表示数据节点的名称
    datahost:表示对应的数据主机
    active:表示活动连接
    idle:表示空闲连接
    size:表示最大连接数量

    • show @@heartbeat
    该命令用于报告心跳状态,示例如下:

    在这里插入图片描述

    name:数据主机名称
    type:表示数据库类型
    host:表示主机地址
    rs_code:表示心跳状态(0:INIT_STATUS 表示初始化状态,1:OK_STATUS 表示正常状态,-1:ERROR_STATUS 表示连接出错,-2:TIMEOUT_STATUS 表示连接超时)。
    若节点发生故障,会连续进行默认5个周期的检测,心跳连续失败后会变成 -1 ,节点故障确认,然后可能发生切换。

    • show @@connection
    该命令用于获取 Mycat 前端的连接状态,示例如下:

    在这里插入图片描述
    如果需要关闭连接,可以使用 kill @@connection id,id,id,… ,示例如下:
    在这里插入图片描述

    • show @@backend
    查询后端连接(Mycat 连接实际数据库)状态,示例如下:
    在这里插入图片描述

    • show @@cache
    用于查看 Mycat 缓存使用情况,示例如下:

    在这里插入图片描述

    SQLRouteCache:SQL语句路由缓存
    TableID2DataNodeCache.TESTDB_ORDERS:缓存表主键与分片的对应关系
    ER_SQL2PARENTID:缓存ER分片中子表与父表的关系

    • show @@datasource
    查看数据源的状态,如果配置了主从或者多主,则可以切换,示例如下:
    在这里插入图片描述
    如果需要切换数据源,可以使用 switch @@datasource name:index 来切换,示例如下:
    在这里插入图片描述

    name:是 schema 配置文件中,配置的 dataNode 中的 name值
    index:是 schema 配置文件中,配置的 dataNode 的 dataHost 的 writeHost 的索引,按照从上往下的配置顺序,索引从 0 开始

    • show @@sql
    查看在 Mycat 中执行过的SQL语句,需要确认 server.xml 配置文件中的 1 ,示例如下:

    在这里插入图片描述

    • show @@sql.slow
    查看在 Mycat 中执行的比较慢的 SQL 语句,使用 reload @@sqlslow=? 来设置慢的阈值,如果需要在查询后,移除本次结果不在下次查询显示,可以在命令后 增加标识,show @@sql.slow true,示例如下:

    在这里插入图片描述
    设置执行SQL语句慢的阈值,示例如下:
    在这里插入图片描述

    • show @@sql.sum
    显示SQL语句的整体执行情况、读写比例等,示例如下:
    在这里插入图片描述


    2、Mycat-Web

    除了使用mysql客户端连接到mycat管理端口来对mycat进行管理之外,还可以使用另外一个开源的管理工具mycat-web来对mycat进行管理。

    2.1 安装jdk运行环境

    Mycat-web运行也需要java运行环境,因此需要安装jdk环境,查看当前仓库的Java版本(yum -y list java*),如下图所示,建议安装当前仓库的1.8版本。

    在这里插入图片描述

    配置好环境变量后通过java -version查看当前安装完成的Java版本,如下图所示。

    在这里插入图片描述


    2.2 安装zookeeper

    Zookeeper安装参考前文。


    2.3 安装配置mycat-web

    从mycat官网下载mycat-web,如下图所示,点击更多下载,找到mycat-web。

    在这里插入图片描述

    选择你所需要的版本进行下载,如下图所示。

    在这里插入图片描述

    解压

    tar zxf Mycat-web-1.0-SNAPSHOT-20170102153329-linux.tar.gz
    
    • 1

    在这里插入图片描述

    修改mycat.properties配置文件

    [root@localhost mycat-web]# ls
    etc  lib  mycat-web  readme.txt  start.jar  start.sh
    [root@localhost mycat-web]# cd mycat-web/
    [root@localhost mycat-web]# ls
    404.html  500.html  index2.html  META-INF  monitor.js  page  resources  static  version.txt  WEB-INF
    [root@localhost mycat-web]# cd WEB-INF/
    [root@localhost WEB-INF]# ls
    classes  db  jrdsconf  lib  web.xml
    [root@localhost WEB-INF]# cd classes/
    [root@localhost classes]# ls
    com  jdbc.properties  log4j2.xml  mybatis  mycat.properties  org  spring
    [root@localhost classes]# vi mycat.properties
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    将zookeeper的地址改为实际安装了zookeeper的地址,本节点未安装,所以不能使用localhost,如下修改。

    show.period=3000000
    zookeeper=192.168.157.129:2181
    
    mycat_warn_mail=[{"cc"\:"sohudo@mycat.io","index"\:1,"mangerPort"\:"465","smtpHost"\:"smtp.139.com","smtpPassword"\:"123456","smtpProtocol"\:"smtp","smtpUser"\:"agile_louie@139.com","to"\:"9183838@qq.com"}]
    ##sql\u4E0A\u7EBF\u76F8\u5173\u914D\u7F6E
    sqlonline.server=192.168.80.128
    sqlonline.user=root
    sqlonline.passwd=123456
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    2.4 启动mycat-web
    cd mycat-web/
    ./start.sh
    
    • 1
    • 2

    启动之后即可访问 http://192.168.157.132:8082/mycat/。



    更多技术干货,请持续关注程序员大佬超。
    原创不易,转载请注明出处。

  • 相关阅读:
    摄影构图:如何处理对焦、快门、光圈、ISO 以及拍摄方式
    hologres基础知识一文全
    JSD-2204-处理登录成功的管理的权限列表-前后端分离-Day13
    【校招VIP】专业课考点之网络存储
    【学术综述】-如何写出一篇好综述-写好综述要注意的问题
    Spring基础(2):放弃XML,走向注解
    【必知必会的MySQL知识】①初探MySQL
    Pytorch神经网络设计技巧-如何得到各层的input shape
    软件开发项目文档系列之十二如何撰写用户培训方案
    道通转债,微芯转债,博22转债上市价格预测
  • 原文地址:https://blog.csdn.net/xch_yang/article/details/126648390