Mycat分库分表、读写分离

本文详细介绍了如何使用Mycat实现数据库分库分表和读写分离。首先,讲述了下载并配置Mycat,包括修改server.xml、schema.xml和rule.xml。接着,通过示例展示了不同表的分片策略,如范围分片、简单取模、枚举分片和时间分片。最后,讨论了主从复制和读写分离的配置,并验证了其效果。
摘要由CSDN通过智能技术生成

一、下载mycat包

MyCat2

二、修改配置文件

1、修改server.xml

<user name="root" defaultAccount="true">
        <property name="usingDecrypt">1</property>
        <property name="password">GO0bnFVWrAuFgr1JMuMZkvfDNyTpoiGU7n/Wlsa151CirHQnANVk3NzE3FErx8v6pAcO0ctX3xFecmSr+976QA==</property>
        <property name="schemas">TESTDB</property>
        <property name="defaultSchema">TESTDB</property>
        <!--No MyCAT Database selected 错误前会尝试使用该schema作为schema,不设置则为null,报错 -->
        
        <!-- 表级 DML 权限设置 -->
        <!--         
        <privileges check="false">
            <schema name="TESTDB" dml="0110" >
                <table name="tb01" dml="0000"></table>
                <table name="tb02" dml="1111"></table>
            </schema>
        </privileges>        
         -->
    </user>

    <user name="user">
        <property name="password">123456</property>
        <property name="schemas">TESTDB</property>
        <property name="readOnly">true</property>
        <property name="defaultSchema">TESTDB</property>
    </user>

 root为连接用户,TESTDB为模拟数据库,password为加密后的密码,如果不加密,将usingDecrypt设置为0,或者删除。

#加密方法
[root@MiWiFi-R3600-srv lib]# java -cp Mycat-server-1.6.7.6-release.jar io.mycat.util.DecryptUtil 0:root:123456
其中 0:user:password是加密字符串,有两种格式

dataHost加密格式
1:hostM1:root:123456
1代表是dataHost加密
hostM1是<writeHost host="hostM1" 
root是user="root"
123456是 password=明文密码(123456)

对应writeHost配置
		<writeHost host="hostM1" url="localhost:3306" user="root"
				   password="BpkNIjF7LfzS1C76HT7B1bJgmGIDtPihqIvHBlC92L1IFqsMfoJEMk1EkxSzjasWB4GWoUcODYO4AaJstdAp5w==" usingDecrypt="1">
			<!-- can have multi read hosts -->
		</writeHost>

mycat用户登录密码加密格式
0:root:123456
0代表mycat用户登录密码加密
	<user name="root" defaultAccount="true">
		<property name="usingDecrypt">1</property>
		<property name="password">d6D+pOmkuUoY09p4/aivwMsScLa7zfjIwAxvkEhr3v7en06mEXoX9DTTjQNug5CfvGf7Wy9oLcthYI3yLMSjIg==</property>
		<property name="schemas">TESTDB</property>
GO0bnFVWrAuFgr1JMuMZkvfDNyTpoiGU7n/Wlsa151CirHQnANVk3NzE3FErx8v6pAcO0ctX3xFecmSr+976QA==

2、修改schema.xml

student表,采用范围分片

apple表。简单取模

cat表。分片枚举,是根据某项枚举值进行分片(比如异地生活,根据不同地区id把数据分别存储在不同的片上,使用myc

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值