MyCat - 配置文件详解 - server.xml 之 system 配置详解 | 学习笔记

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 快速学习 MyCat - 配置文件详解 - server.xml 之 system 配置详解

开发者学堂课程【全面讲解开源数据库中间件MyCat使用及原理(一):MyCat - 配置文件详解 - server.xml 之 system 配置详解】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/755/detail/13251


MyCat - 配置文件详解 - server.xml 之 system 配置详解

内容介绍:

一、课程总述:

二、system 标签

 

一、课程总述

主要是介绍四份配置文件,第一是 server.xml,第二是 scheme.xml,第三是rule.xml,第四是 sequence 配置文件。本次进行讲解的 server.xml 就是 mycat 中的系统配置信息。在 server.xml 中,主要是三个方面的配置文件。Server 中的配置文件主要分为第一部分 system 的配置,实际上就是系统配置,第二部分是 user的相关配置,第三部分是 firewall 防火墙相关配置。

 

二、system 标签

在 system 标签当中,配置有很多系统属性

属性

取值

含义

Charset

Utf8

设置 Mycat 的字符集,字符集需要与 MysQL 的字符集保持一致

nonePasswordLogin

0,1

登录 mycat 的时候是否需要密码,0 为需要密码登陆、1 为不需要密码登陆,默认为 0,设置为 1 则需要指定默认账户

useHandshakev10

0,1

使用该选项主要的目的是为了能够兼容高版本的 jdbc 驱动,是否采用Handshakev10Packet 来与 client 进行通信,1:是,0:否

usesqlstat

0,1

开启 SQL 实时统计,1为开启,当前 mycat执行的 SQL 语句都会进行统计。0 为关闭;后续通过 mycat 的一些管理命令的话,就可以看到执行的 SQL。<br />

开启之后,Mycat会自动统计SQL语句的执行情况 ; <br />

mysql -h 127.0.0.1 -p 9066 -u root -p<br />

查看 Mycat 执行的 SQL,执行效率比较低的SQL , SQL 的整体执行情况、读写比例等;<br />

show @@sql ; show @sql.slow ; show @@sql .sum ;

useGlobleTablecheck

0,1

是否开启全局表的一致性检测。1为开启,0为关闭。

sqlExecuteTimeout

1000

SQL 语句执行的超时时间,单位为 s ;

sequnceHandlerType

0,1,2

用来指定 Mycat 全局序列类型,0 为本地文件,1 为数据库方式,2 为时间戳列方式,默认使用本地文件方式,通过一个文件来进行维护。文件方式主要用于测试

sequnceHandlerPattern

正则表达式

序列使用的时候的匹配流程。必须带有MYCATSEQ 或者 mycatseq 进入序列匹配流程注意 MYCATSEQ_有空格

的情况

sukqueryRelationshipCheck

true, false

子查询中存在关联查询的情况下,检查关联字段中是否有分片字段。默认 false

useCompression

0,1

开启 mysq1 压缩协议,0 :关闭,1 :开启

fakeMySQLVersion

5.5,5.6

设置模拟的 MySQL 版本号

defaultsplParser

 

由于 MyCat 的最初版本使用了 FoundationD 的 SQL 解析器,在 MyCat1. 3后增

加了 Druid 解析器,所以要设置defaultsqlParser 属性来指定默认的解析器;解析器有两个: druidparser 和 fdbparser, 在MyCat1.4 之后,默

认是 druidparser, fdbparser 已经废除了

processors

1,2....

指定系统可用的线程数量,默认值为 cPu 核心 x 每个核心运行线程数量; processors 会影响processorBufferPool,processorBufferLocalPercent, processorExecutor 属性, 所有,在性能调优时,可以适当地修改 processors值

processorBufferChunk

 

指的是缓冲值配置的相关信息。指定每次分配 socket Direct Buffer 默认值为 4096 字节,也会影响

BufferPool 长度,如果一次性获取字节过多而导致 buffer 不够用, 则会出现警告,可以调大该值

processorExecutor

默认值为32

指定 NIOProcessor_上共享businessExecutor 固定线程池的大小; MyCat 把异步任务交给 businessExecutor 线程池中, 在新版本的 MyCat 中这个连接池使用频次不高,可以适当地把该值调小

packetHeaderSize

二者涉及到关于mysql协议的报文设置

指定 MySQL 协议中的报文头长度,默认4个字节(不需要去动)

maxPacketsize

指定 MySQL 协议可以携带的数据最大大小,默认值为 16M(不需要动)

idleTimeout

30分钟

指定连接的空闲时间的超时长度;如果超时,将关闭资源并回收,默认 30 分钟

txIsolation

1,2,3,4

初始化前端连接的事务隔离级别,默认为REPEATED_ READ,对应数字为 3<br/>

READ_ _UNCOMMITED=1;<br />

READ_ COMMITTED=2;<br />

REPEATED_ _READ=3;<br />

SERIALIZABLE=4;

sqlExecuteTimeout

300

执行 SQL 的超时时间,如果 SQL 语句执行超时 ,将关闭连接;默认 300 秒;

serverPort

8066

定义 MyCat 的使用端口,默认 8066

managerPort

9066

定义 MyCat 的管理端口,默认 9066

正常的 mycat 服务连接的是 8066

以上参数都是可以在 sever.xml 的 system 系统配置当中进行配置的。不用去记,主要是去熟悉每个配置项的含义即可。

1、详解 usesqlstat

<property name="useSqlstat">0K/property><!-- 1为开启实时统计、o 为关闭-->

打开 sevet.xml,里面有 usesqlstat 默认为 0 代表关闭,如果是 0 的情况下重新启动 mycat

image.png

重新启动以后,重新连接 mycat,连接以后 show databases,然后 use ITCAST,然后执行 select * from TB_TEST,只想这几个操作之后,就可以通过管理界面,刚才用的是 8066 端口,接下来要去连接另外一个端口,来执行管理方面的操作,此处需要连接的端口号是 9066,连接上来以后,可以通过 show @sqal 来查看,发现里面是空的,是因为现在的 usesqlstat 设置的是 0,代表的是没有开启实时统计,假如把它改为 1,再将 mycat 重启,关闭连接,重新启动这个语句,就可以出现查询结果。连接的 9066 是管理端口,只想到 SQL 语句在 my cat 当中,已经记录下来了,包括每个用户执行 SQL 耗时多长时间等等。

输入select * from TB_TEST where id-1执行

image.png

开启了实时统计,就可以通过 Mycat 当中提供的管理指令,来监控当前 mycat 都执行了哪些 SQL 语句,它默认是关闭的。

2、详解 fakeMySQLVersion

mycat 实际上是伪装自己为 mysql 的服务端,相当于模拟了 mysql 协议,可以把mycat 就看成是 mysql,二者的操作是一样的,既然 mycat 要去模拟 mysql,可以去指定模拟的是哪个版本,包括 5.5 或 5.6 版本,到底通过哪个版本可以通过fakemysqlversion 来指定。那么怎么查看当前 mycat 是模拟的哪个版本呢,通过查看,可以看到模拟的是 5.6.29 的版本,如果想要让他去模拟别的版本,可以通过 <property name=" fakeMysQLversion">5.6.20</property><!--设置模拟的 MySQL 版本号-->进行修改,这个语句意思是要模拟的版本为 5.6.20 .接下来重启 mycat,重新连接 mycat 发现版本号已经改变。

image.png

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
29天前
|
XML Java 数据格式
Spring从入门到入土(xml配置文件的基础使用方式)
本文详细介绍了Spring框架中XML配置文件的使用方法,包括读取配置文件、创建带参数的构造对象、使用工厂方法和静态方法创建对象、对象生命周期管理以及单例和多例模式的测试。
72 7
Spring从入门到入土(xml配置文件的基础使用方式)
|
2月前
|
XML Java 数据格式
Spring IOC—基于XML配置Bean的更多内容和细节(通俗易懂)
Spring 第二节内容补充 关于Bean配置的更多内容和细节 万字详解!
192 18
Spring IOC—基于XML配置Bean的更多内容和细节(通俗易懂)
|
2月前
|
XML Java 应用服务中间件
springMVC01,springMVC的执行流程【第一个springMVC例子(XML配置版本):HelloWorld】
通过一个HelloWorld实例,介绍了SpringMVC的基本概念、执行流程,并详细讲解了如何创建和配置第一个SpringMVC项目(基于XML)。
springMVC01,springMVC的执行流程【第一个springMVC例子(XML配置版本):HelloWorld】
|
25天前
|
XML Java 应用服务中间件
tomcat学习一:tomcat 目录及配置文件学习 server.xml 等
这篇文章是关于Apache Tomcat服务器的目录结构、配置文件(特别是server.xml)的详细介绍和学习指南。
52 0
tomcat学习一:tomcat 目录及配置文件学习 server.xml 等
|
1月前
|
XML 分布式计算 资源调度
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(一)
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(一)
131 5
|
1月前
|
XML 资源调度 网络协议
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(二)
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(二)
66 4
|
1月前
|
分布式计算 资源调度 Hadoop
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
65 4
|
26天前
|
XML Java 数据格式
手动开发-简单的Spring基于XML配置的程序--源码解析
手动开发-简单的Spring基于XML配置的程序--源码解析
75 0
|
1月前
|
XML 存储 JSON
framework 的配置文件在.netcore里面不能用怎么处理?在.netcore中创建.xml配置文件
framework 的配置文件在.netcore里面不能用怎么处理?在.netcore中创建.xml配置文件
26 0
|
1月前
|
安全 内存技术
【文件上传-配置文件】crossdomain.xml跨域策略配置文件上传
【文件上传-配置文件】crossdomain.xml跨域策略配置文件上传