Windows环境下使用Mycat模拟分库分表-读写分离案例
一、基本环境
W7 64位、Mycat1.6、MySQL8.0
二、Mycat核心配置文件配置
解压Mycat1.6,并对server.xml、schema.xml、rule.xml三个核心配置文件做相关配置,见下图
1、对server.xml设置登录的帐号密码以及逻辑库名(root账户可读写,user账户只读);并设置sequnceHandlerType为0

2、配置schema.xml,这里的库、表、数据库连接等会在后面介绍。rule="mod-long"会在rule.xml中有相关设置

3、设置rule.xml,由于只设置了两台数据库,这里改为2

主键名称需要做下变更

三、执行创建库和表的命令,数据库mycat1、mycat2都需创建这两张表
CREATE TABLE IF NOT EXISTS `t_order` (
`order_id` int(20) NOT NULL,
`user_id` int(11) DEFAULT NULL,
`pay_mode` tinyint(4) DEFAULT NULL,
`amount` float DEFAULT NULL,
`order_date` datetime DEFAULT NULL,
PRIMARY KEY (`order_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='订单主表';
CREATE TABLE IF NOT EXISTS `t_order_detail` (
`od_id` int(20) NOT NULL,
`order_id` int(11) DEFAULT NULL,
`goods_id` int(11) DEFAULT NULL,
`unit_price` float DEFAULT NULL,
`qty` int(11) DEFAULT NULL,
PRIMARY KEY (`od_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='订单明细表';

四、重启mycat,并用mysql连接工具连接mycat
停止命令:mycat.bat stop
启动命令:mycat.bat start
连接mycat,注意默认端口是8066
五、连接mycat后,在mycat_order数据库下执行插入命令,并查看mycat1和mycat2中t_order表
INSERT INTO t_order(order_id, user_id, pay_mode, amount)VALUES(next value for MYCATSEQ_ORDER, '105', 1, 100); 执行多次


用mysql连接工具分别用root和user账户连接Mycat,均可查询出两张表的汇总数据,且user账户只能查询不能写,如下图


至此分库分表和读写分离的的功能基本实现
但是真正应用到项目中还有许多坑需要踩。
Windows环境下使用Mycat模拟分库分表-读写分离案例的更多相关文章
- 分库分表(7)--- SpringBoot+ShardingSphere实现分库分表 + 读写分离
分库分表(7)--- ShardingSphere实现分库分表+读写分离 有关分库分表前面写了六篇博客: 1.分库分表(1) --- 理论 2.分库分表(2) --- ShardingSphere(理 ...
- MySQL+MyCat分库分表 读写分离配置
一. MySQL+MyCat分库分表 1 MyCat简介 java编写的数据库中间件 Mycat运行环境需要JDK. Mycat是中间件.运行在代码应用和MySQL数据库之间的应用. 前身 : cor ...
- DB层面上的设计 分库分表 读写分离 集群化 负载均衡
第1章 引言 随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题.对于一个大型的 互联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载.对于系统的稳定性和扩展性造成了极大的 ...
- ShardingJdbc-分表;分库;分库分表;读写分离;一主多从+分表;一主多从+分库分表;公共表;数据脱敏;分布式事务
目录 创建项目 分表 导包 表结构 Yml 分库 Yml Java 分库分表 数据库 Yml 读写分离 数据库 Yml 其他 只请求主库 读写分离判断逻辑代码 一主多从+分表 Yml 一主多从+分库分 ...
- Mycat使用--分库分表和读写分离
Mycat分库分表读写分离 1. 模拟多数据库节点 2. 配置文件 具体操作参看: https://blog.csdn.net/vbirdbest/article/details/83448757 写 ...
- 分库分表(6)--- SpringBoot+ShardingSphere实现分表+ 读写分离
分库分表(6)--- ShardingSphere实现分表+ 读写分离 有关分库分表前面写了五篇博客: 1.分库分表(1) --- 理论 2.分库分表(2) --- ShardingSphere(理论 ...
- Linux 配置 mycat 和 分库分表配置。
Linux 如何配置mycat? 3.配置mycat 3.1.规定linux的用户名和全名不能叫mycat!!!否则mycat会不生效(原因是影响整个linux系统的环境变量导致mycat的配置环境变 ...
- MySQL:如何使用MyCAT实现分库分表?
分库分表介绍 随着微服务这种架构的兴起,我们应用从一个完整的大的应用,切分为很多可以独立提供服务的小应用.每个应用都有独立的数据库. 数据的切分分为两种: 垂直切分:按照业务模块进行切分,将不同模块的 ...
- Mycat配置分库分表(垂直分库、水平分表)、全局序列
1. Mycat相关文章 Linux安装Mycat1.6.7.4并实现Mysql数据库读写分离简单配置 Linux安装Mysql8.0.20并配置主从复制(一主一从,双主双从) Docke ...
随机推荐
- 测开之路一百零二:jquery元素操作
jquery对元素操作,获取/替换文本(.text()).html(.html()).属性(.attr()).值(.val()) html代码 text() 根据标签获取文本值 同一个标签下筛选明细 ...
- 用python进行月份加减的函数
import math def add_month(datamonth, num): """ 月份加减函数,返回字符串类型 :param datamonth: 时间(20 ...
- 从DT时代云栖大会聊聊恒生电子
从IT到DT,除了HOMS和配资,本文结合互联网金融的背景,帮助读者对恒生电子600570了解更多. 马云在2015杭州·云栖大会Computing Conference发表致辞时多次强调DT(Dat ...
- openWRT利用mac地址限制局域网内设备访问外网
利用iptable设置防火墙: iptables -A INPUT -p tcp -m mac --mac-source 44:94:FC:25:68:8D --dport 80 -j DROP
- PHP的设计模式及场景应用介绍
有大量的文章解释什么是设计模式,如何实现设计模式,网络上不需要再写一篇这样的文章.相反,在本文中我们更多的讨论什么时候用和为什么要用,而不是用哪一个和如何使用. 我将会为这些设计模式描绘不同的场景和案 ...
- Redis 21问,你接得住不?
作者:菜鸟小于 cnblogs.com/Young111/p/11518346.html 1.什么是redis? Redis 是一个基于内存的高性能key-value数据库. 2.Reids的特点 R ...
- MVC中easyui的easyui-combobox的使用
一,如下代码,赋值 @{string json = ""; foreach (var dic in EnumCouponDic) //EnumCouponDic是一个字典类型Dic ...
- Window Operations
Window Operations 有点类似于Storm中的State,可以设置窗口的大小和滑动窗口的间隔来动态的获取当前Steaming的允许状态,可以对一段时间的数据进行处理. 如图window ...
- k3 cloud出现应收单下推收款单,把收款单是结算方式修改成银行承兑汇票之后保存提示:收款单明细中结算方式为票据业务的实收金额之和不等于票据的当前占用金额之和,请检查数据!
收款单结算方式选择[银行承兑汇票],系统就默认该笔业务在系统中要存在一张应收票据.则在应收票据页签,需要选择一张出纳的应收票据(要先存在应收票据,才能保存单据,相当于是根据这张票据审核生成的这张收单单 ...
- postmaster - PostgreSQL多用户数据库服务器
SYNOPSIS postmaster [ -A 0 | 1] [ -B nbuffers] [ -c name=value] [ -d debug-level] [ -D datadir] [ -F ...