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

简介: 快速学习 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

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
9月前
|
存储 Java 文件存储
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录—— logback.xml 配置文件解析
本文解析了 `logback.xml` 配置文件的详细内容,包括日志输出格式、存储路径、控制台输出及日志级别等关键配置。通过定义 `LOG_PATTERN` 和 `FILE_PATH`,设置日志格式与存储路径;利用 `&lt;appender&gt;` 节点配置控制台和文件输出,支持日志滚动策略(如文件大小限制和保存时长);最后通过 `&lt;logger&gt;` 和 `&lt;root&gt;` 定义日志级别与输出方式。此配置适用于精细化管理日志输出,满足不同场景需求。
2193 1
|
XML Java 数据格式
Spring从入门到入土(xml配置文件的基础使用方式)
本文详细介绍了Spring框架中XML配置文件的使用方法,包括读取配置文件、创建带参数的构造对象、使用工厂方法和静态方法创建对象、对象生命周期管理以及单例和多例模式的测试。
697 7
Spring从入门到入土(xml配置文件的基础使用方式)
|
12月前
|
XML Java 数据格式
使用idea中的Live Templates自定义自动生成Spring所需的XML配置文件格式
本文介绍了在使用Spring框架时,如何通过创建`applicationContext.xml`配置文件来管理对象。首先,在resources目录下新建XML配置文件,并通过IDEA自动生成部分配置。为完善配置,特别是添加AOP支持,可以通过IDEA的Live Templates功能自定义XML模板。具体步骤包括:连续按两次Shift搜索Live Templates,配置模板内容,输入特定前缀(如spring)并按Tab键即可快速生成完整的Spring配置文件。这样可以大大提高开发效率,减少重复工作。
使用idea中的Live Templates自定义自动生成Spring所需的XML配置文件格式
|
XML Java 数据格式
Spring容器Bean之XML配置方式
通过对以上内容的掌握,开发人员可以灵活地使用Spring的XML配置方式来管理应用程序的Bean,提高代码的模块化和可维护性。
386 6
|
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(一)
487 5
|
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(二)
577 4
|
分布式计算 资源调度 Hadoop
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
360 4
|
XML Java 应用服务中间件
tomcat学习一:tomcat 目录及配置文件学习 server.xml 等
这篇文章是关于Apache Tomcat服务器的目录结构、配置文件(特别是server.xml)的详细介绍和学习指南。
702 0
tomcat学习一:tomcat 目录及配置文件学习 server.xml 等
|
XML Java 数据格式
手动开发-简单的Spring基于XML配置的程序--源码解析
手动开发-简单的Spring基于XML配置的程序--源码解析
269 0
|
XML 存储 JSON
framework 的配置文件在.netcore里面不能用怎么处理?在.netcore中创建.xml配置文件
framework 的配置文件在.netcore里面不能用怎么处理?在.netcore中创建.xml配置文件
120 0

相关课程

更多