企业实战_04_MyCat常用配置文件详解

Mycat 常用配置文件,配置灵活,能应用于场景很多,建议根据应用场景去记忆,要理解!

接上一篇:企业实战_03_MyCat下载、安装、启动
https://gblfy.blog.csdn.net/article/details/100049304

文章目录

          • 一、Mycat目录说明
          • 二、Mycat常用的配置文件
            • 2.1. 配置3剑客
            • 2.2. Mycat 2个配置1步走
          • 三、server.xml
            • 3.1. system标签及样例
            • 3.2. user 标签
            • 3.3. 对一个逻辑库有访问权限
            • 3.4. 对多个逻辑库有访问权限
            • 3.5. 对指定库的表的权限
            • 3.6. 源文件
          • 四、schema.xml
            • 4.1. 节点说明
            • 4.2. 样例
            • 4.3. 举个栗子:
          • 五、rule.xml
            • 5.1.文件用途
            • 5.2. 企业样例
            • 5.3. 举个栗子

一、Mycat目录说明
目录说明
binmycat命令,启动、重启、停止等
confMycat 配置信息
libMycat引用的jar包,Mycat是java开发的 ,用户密码加密的jar也在这
logs日志文件,包括Mycat启动的日志和运行的日志
catletcatlet为Mycat的一个扩展功能
二、Mycat常用的配置文件
  • Mycat的配置文件都在conf目录里面:
2.1. 配置3剑客
文件说明(用途)
server.xm①系统相关参数②用户访问权限③SQL防火墙及SQL拦截功能
schema.xml①主机节点 ②数据节点③逻辑库④逻辑表⑤自增ID⑥规则算法名称
rule.xml① 规则类②算法③Mycat分片(分库分表)
2.2. Mycat 2个配置1步走
  • 全局自增id 场景
  • 2配置指需要配置2个文件
  • 1步走指的是需要执行一条插入语句设置自增规则
文件说明
dbseq.sqlMycat全局自增id,初始化表结构
sequence_db_conf.properties全局增id的表及数据节点
三、server.xml
3.1. system标签及样例
标签说明
<system></system>配置MyCat系统参数 key value形式

样例

 <system><!-- 定义mycat对外提供的服务的端口 --><property name="${key}">${value}</property></system>

举个栗子:

 <system><!-- 定义mycat对外提供的服务的端口 --><property name="serverPort">8066</property></system>

在这里插入图片描述

3.2. user 标签
标签说明
<user></user>配置MyCat的访问用户及权限
	<!-- mycat用户 --><user defaultAccount="true" name="app_imooc"><!-- 密码加密需要添加此设置 --><property name="usingDecrypt">1</property><!-- 密码 --><property name="password">bDbWr7bVMgszTe82oMo8NaUsmFFdPCNl/lYXzOYoG8anTpQLvdx5e+LYJEmT0IAeSVp1loyxSZPyv1GoHbHFHg==</property><!-- 逻辑库名 --><property name="schemas">imooc_db</property></user>
3.3. 对一个逻辑库有访问权限

在这里插入图片描述

3.4. 对多个逻辑库有访问权限

逻辑库有多个请采取以下配置

	<!-- mycat用户 --><user defaultAccount="true" name="app_imooc"><!-- 密码加密需要添加此设置 --><property name="usingDecrypt">1</property><!-- 密码 --><property name="password">bDbWr7bVMgszTe82oMo8NaUsmFFdPCNl/lYXzOYoG8anTpQLvdx5e+LYJEmT0IAeSVp1loyxSZPyv1GoHbHFHg==</property><!-- 多个逻辑库名,用“”,“”分割即可 --><property name="schemas">imooc_db,imooc_db01,imooc_db02</property></user>

在这里插入图片描述

3.5. 对指定库的表的权限

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.6. 源文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE serverSYSTEM 'server.dtd'>
<mycat:server xmlns:mycat="http://io.mycat/"><system><!-- 定义mycat对外提供的服务的端口 --><property name="serverPort">8066</property><!-- mycat管理端口 --><property name="managerPort">9066</property><!-- mycat登录是否需要验证0 验证1 不验证--><property name="nonePasswordLogin">0</property><!-- mycat对那台机器进行建通 监听所有  0.0.0.0监听指定机器 IP地址--><property name="bindIp">0.0.0.0</property><!-- 前端写队列的大小 --><property name="frontWriteQueueSize">2048</property><!-- 与数据库编码保持一致即可 --><property name="charset">utf-8</property><!-- mycat连接mysql的隔离级别 读未提交 1读已提交 2可重复读 3序列化读 4--><property name="txIsolation">2</property><!-- mycay进程数量 等于CPU核数 --><property name="processors">8</property><property name="idleTimeout">1800000</property><!-- 当sql执行超过多少秒后,mycat会对连接进行断开 单位秒 --><property name="sqlExecuteTimeout">300</property><property name="useSqlStat">0</property><property name="useGlobleTableCheck">0</property><property name="sequnceHandlerType">1</property><!-- mycat默认返回数据集的大小 这里设置100--><property name="defaultMaxLimit">100</property><!-- mysql允许最大包的大小 --><property name="maxPacketSize">104857600</property></system><!-- mycat用户 --><user defaultAccount="true" name="app_imooc"><!-- 密码加密需要添加此设置 --><property name="usingDecrypt">1</property><!-- 密码 --><property name="password">bDbWr7bVMgszTe82oMo8NaUsmFFdPCNl/lYXzOYoG8anTpQLvdx5e+LYJEmT0IAeSVp1loyxSZPyv1GoHbHFHg==</property><!-- 逻辑库名 --><property name="schemas">imooc_db</property></user>
</mycat:server>
四、schema.xml
4.1. 节点说明
标签说明
schema配置逻辑库名
dataNode数据节点
dataHost物理主机节点
table逻辑表
4.2. 样例
<?xml version="1.0"?>
<!DOCTYPE schema SYSTEM 'schema.dtd'>
<mycat:schema xmlns:mycat="http://io.mycat/"><schema checkSQLschema="false" name="逻辑库名" sqlMaxLimit="100"><table dataNode="数据节点" name="逻辑表名" primaryKey="逻辑表主键" rule="规则名" /></schema><dataNode dataHost="主机节点" database="物理数据库名" name="数据节点名"/><dataHost balance="3" dbDriver="native" dbType="数据库类型" maxCon="1000" minCon="10" name="主机节点名" switchType="1" writeType="0"><heartbeat>select user()</heartbeat><writeHost host="物理IP地址" password="密码" url="物理IP地址:端口号" user="操作数据库用户"/></dataHost>
</mycat:schema>

在这里插入图片描述

4.3. 举个栗子:
<?xml version="1.0"?>
<!DOCTYPE schemaSYSTEM 'schema.dtd'>
<mycat:schema xmlns:mycat="http://io.mycat/"><schema checkSQLschema="false" name="imooc_db" sqlMaxLimit="100"><table dataNode="ordb" name="order_master" primaryKey="order_id"/></schema><dataNode dataHost="mysqlnode01" database="order_db" name="ordb"/><dataHost balance="3" dbDriver="native" dbType="mysql" maxCon="1000" minCon="10" name="mysqlnode03" switchType="1" writeType="0"><heartbeat>select user()</heartbeat><writeHost host="192.168.43.172" password="123456" url="192.168.43.172:3306" user="im_mycat"/></dataHost>
</mycat:schema>

在这里插入图片描述

五、rule.xml
5.1.文件用途
  • 配置水平分片的分片规则:定义了表中使用哪一个标识来进行分片的
  • 配置分片规则所对应的分片函数:具体实现分片函数的一个Java代码或者java的类

标签说明

标签说明
tableRule表规则名
columns规则字段
algorithm规则设置
function规则算法
property规则分片的数量
5.2. 企业样例

#标签配置值的分片规则


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mycat:rule SYSTEM "rule.dtd">
<mycat:rule xmlns:mycat="http://io.mycat/"><!-- 规则名:采用hash取模 4片 分片字段id --><tableRule name="hash-mod-4_id"><rule><!-- 分片列就是分片字段 --><columns>id</columns><!-- 算法名 --><algorithm>hash-mod-4</algorithm></rule></tableRule><!-- 具体应用的算法 --><function name="hash-mod-4" class="io.mycat.route.function.PartitionByHashMod" ><property name="count">4</property></function>
</mycat:rule>
  • 标签制定标的分片列
  • 指定分片算法,取的name属性

#配置标的分片算法

	<!-- 具体应用的算法 --><function name="hash-mod-4" class="io.mycat.route.function.PartitionByHashMod" ><property name="count">4</property></function>
</mycat:rule>
  • name 属性定义分片算法
  • Class 属性指定分片算法实现类,必须是全类名
  • property 属性指定分片个数
5.3. 举个栗子

在这里插入图片描述


下一篇:企业实战_05_MyCat用户密码加密
https://gblfy.blog.csdn.net/article/details/100056536

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/523378.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenStack精华问答 | OpenStack是云吗?

自诞生以来&#xff0c;OpenStack 似乎一直被质疑&#xff0c;其背后最重要的两大推手 NASA 和 Rackspace 都弃它而去&#xff0c;惠普、思科接连宣布关闭基于 OpenStack 的公有云服务&#xff0c;但是,OpenStack 依旧坚挺。1Q&#xff1a;openstack介绍A&#xff1a;openstack…

mclmcrrt77 matlab,mclmcrrt77.dll下载

mclmcrrt77.dll文件作为应用程序中非常重要的一个组件&#xff0c;如果弄丢或者报错后会出现很多麻烦的事情&#xff0c;这时候大家只需要到本站来下载该文件包&#xff0c;然后按照本站的安装方法进行安装就可以修复了&#xff01;mclmcrrt77.dll介绍如果您的系统提示“找不到…

社会保障查询

公积金个人用户登录&#xff1a; http://www.zzz.gov.cn/wtgrgjj/index.html http://www.bjrbj.gov.cn/csibiz/home/index.html

是是是

Mycat - 实现数据库的读写分离与高可用&#xff1a; https://www.cnblogs.com/youzhibing/p/9553766.html Mycat - 高可用与负载均衡实现&#xff0c;满满的干货&#xff01; https://cloud.tencent.com/developer/article/1388391 Mycat读写分离、热备、分表分库 http://www…

3类6种,主流容器操作系统全比较

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | Frank Brown来源 | RancherLabs介 绍容器已迅速成为现代数据中心的必要组成部分。容器可以构建在各类操作系统中&#xff0c;那么企业该如何选择最合适的操作系统来运行自己的容器&#xff1f;在容器部署时&#xff0c;研发…

mongodb php代码实例,php操作mongoDB实例分析

本文实例讲述了PHP操作mongoDB的方法。分享给大家供大家参考。具体分析如下&#xff1a;mongoDB数据库是一种以json格式存储的数据库,非常适用于各种应用开发,这里就来给各位朋友介绍一些mongoDB学习实例.mongodb想要整合PHP,需要安装Mongo扩展,这个比较简单,现在说一下MongoDB…

实战_23_高可用负载均衡集群的实现(Mycat+ZK +HAProxy + Keepalived)

接上一篇&#xff1a;实战_22_Mycat设置开机自启https://blog.csdn.net/weixin_40816738/article/details/100086556 文章目录一、高可用集群架构实现思路二、环境部署准备2.1. 环境部署总览2.2. 架构图总览2.3. 架构图解说明三、架构功能分析3.1. 场景案例分析3.2. 架构功能点…

oracle与db2 市场占有率,oracle 与 DB2 的区别

1、DB2 访问前10行数据与Oracle区别DB2 :select * from test fetch first 10 rows onlyOracle :select * from test where rownum<10查询语句Db2:不提供隐形转换select * from employee where empno1010;oracle&#xff1a;提供隐形转换select * from employee where empno1…

拒修电脑后,妹子又约我学机器学习,好烦(甜)!

事情是这样的&#xff0c;自前年给学妹修了半年电脑后&#xff0c;我俩一直没联系&#xff0c;最近这位学妹最近又联系我&#xff0c;问我是否了解人工智能&#xff0c; 在得知我已经研究并且从事相关工作后&#xff0c;她立马约我出来认真聊聊。我的内心&#xff1a;好烦啊&am…

gbase 8s oracle,GBase8s 查看数据库表空间信息

onstat -d 查看数据库表空间信息onstat -d命令用于检查数据库空间的使用情况[gbasedbtnode13 ~]$ onstat -dYour evaluation license will expire on 2021-08-27 00:00:00GBase Database Server Version 12.10.FC4G1TL -- On-Line (Prim) -- Up 00:16:02 -- 2023104 KbytesDbsp…

2019年普通高等程序员招生统一考试

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | 表姐也有话讲来源 | 表哥有话讲2019年普通高等程序员招生统一考试题号一二三总得分一、选择题&#xff08;每题5分&#xff0c;共计50分&#xff09;1、SQL语句写了一天都没过&#xff0c;这个时候应该&#xff08;&#xff…

MybatisPlus_进阶

#数据库连接 spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/mp_high?userSSLfalse&characterEncondingUTF-8&serverTimezoneGMT%2B8username: rootpassword: root # 日志管理 logging:level:root: warncom.gblf…

php 内存队列,memcache构建简单的内存消息队列_PHP教程

本文章来给各位同学介绍使用memcache构建简单的内存消息队列,用一个比较不错的实例来给大家介绍&#xff0c;希望此方法对大家有帮助哦。memcache功能太简单了&#xff0c;只能 set get 和delete&#xff0c; 只能保存key-value的数据&#xff0c; 不能保存列表。 当然也可以把…

idea maven插件tomcat内存溢出

setting->>>Build,Execution->>>Deployment->>>Maven->>>Runner->>>VM Options 粘贴复制以下内容&#xff1a; -Xms1024M -Xmx2048M -XX:PermSize256M -XX:MaxNewSize256M -XX:MaxPermSize512m

搞不懂SDN?那是因为你没看这个小故事…

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | 小枣君来源 | 鲜枣课堂很久很久以前&#xff0c;有一个村子&#xff0c;名叫“通信童心村”。村里的每一户&#xff0c;都有一个男人和一个女人。每一户&#xff0c;都以搬砖为生。从不同的地方&#xff0c;搬到不同的地方。…

lighttpd sqlite3 php,fedora linux平台下搭建lighttpd+php+sqlite

(一)lighttpd1. 安装yum install lighttpd安装完成后&#xff0c;系统中应该多了一个用户lighttpd和组lighttpd。这个用户&#xff0c;默认是不允许登陆的。我们修改/etc/passwd&#xff0c;将lighttpd修改为如下形式。lighttpd:x:489:470:lighttpd web server:/home/lighttpd/…

玩转 Linux 常用命令

Linux是目前应用最广泛的服务器操作系统&#xff0c;基于Unix&#xff0c;开源免费&#xff0c;由于系统的稳定性和安全性&#xff0c;市场占有率很高&#xff0c;几乎成为程序代码运行的最佳系统环境。linux不仅可以长时间的运行我们编写的程序代码&#xff0c;还可以安装在各…

良心帖!看完这篇,你的 Python 入门基础就差不多了!

Python将纳入高考内容、小学生教材开始接触Python、Python列入全国计算机等级考试……全民学Python的话题铺天盖地&#xff0c;中国的Python学习者是全球第一&#xff0c;人才如此泛滥&#xff0c;甚至以后孩子都会&#xff0c;学习它还能体现自身高价值&#xff1f;30年前学英…

svm回归matlab工具箱很慢,PSO优化SVM参数进行回归预测,结果很不理想

具体程序代码如下&#xff0c;主要问题就是不管我怎么调整参数&#xff0c;最终的预测结果都没有太大的变化&#xff0c;还请了解这两大算法的帮忙看看问题出在哪里了&#xff0c;十分感谢&#xff01;tic;close all;clear;clc;format compact;load M2.mat %载入数据% 提取数…