IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Mycat的简单使用 -> 正文阅读

[大数据]Mycat的简单使用

1.简介

mycat是国人开发的一款开源的数据库中间件,他的作用就是伪装成一个真的数据库,然后在它背后,连的是多种类型,集群分布式的真实数据库。

1.1 mycat的几个概念

schema: 逻辑库,与MYSQL中的Database(数据库)对应,一个逻辑库中定义了所包含的Table
table: 表,即物理数据库中存储的某一张表,与传统数据库不同,这里的表格需要声明其所存储的逻辑数据节点DataNode,这是这是通过表格的分片规则定义来实现的,table可以定义其所属的“子表(childTable)”,子表的分片依赖于与“父表”的具体分片地址,简单的说,就是属于父表里某一条记录A的子表的所有记录都与A存储在同一个分片上。
分片规则: 是一个字段与函数的捆绑定义,根据这个字段的取值来放回所在存储的分片(DataNode)的序号,每个表格可以定义一个分片规则,分片规则可以灵活扩展,默认提供了基于数字的分片规则,字符串规则等。
dataNode: mycat的逻辑数据节点,是存放table的具体物理节点,也称之为分片节点,通过DataSource来关联后端某个数据库上,一般来说,为了高可用性,每个DataNode都设置两个DataSource,一主一从,当主节点宕机,系统自动切换到从节点。
dataHost: 定义某个物理库的访问地址,用于捆绑到dataNode上。
mycat配置文件都在conf目录下

安装包(1.6.7.1版本): https://pan.baidu.com/s/1E8X15D07AasHgSRuUrTMsw
提取码:1234

2.启动

解压安装完后目录如下:

在bin文件夹下双击startup_nowrap.bat 就可以启动了


或许有人问mycat怎么使用它的客户端,答案很简单mysql怎么使用mycat就怎么使用

conf/server.xml目录下可查看用户密码

mysql -uroot -p123456 -P8066 -h127.0.0.1

3.水平切分搭建

conf/schema.xml文件夹下配置如下

在这里插入图片描述

<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
		
	<schema name="test" checkSQLschema="false" sqlMaxLimit="100">
		<table name="t_user" dataNode="dn1,dn2" primaryKey="id" rule="mod-long"  />
	</schema>
	
	<dataNode name="dn1" dataHost="localhost1" database="test" />
	<dataNode name="dn2" dataHost="localhost1" database="test01" />


	
	<dataHost name="localhost1" maxCon="1000" minCon="10" balance="1"
			  writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
		<heartbeat>select user()</heartbeat>
		
		<writeHost host="hostM1" url="119.91.238.112:3301" user="root"
				   password="123456">
			
			
		</writeHost>
		<writeHost host="hostS2" url="119.91.238.109:3302" user="root"
				   password="123456" />
		
	</dataHost>
	
</mycat:schema>

conf/server.xml配置:

	<user name="root" defaultAccount="true">
		<property name="password">123456</property>
		<property name="schemas">test</property>
		
		<!-- 表级 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">user</property>
		<property name="schemas">test</property>
		<property name="readOnly">true</property>
	</user>
	

conf/rule.xml配置

4.测试

重启mycat

然后在mycat中执行sql创建表,并自动同步到物理库中,注意是mycat执行建表sql

DROP TABLE IF EXISTS `t_user`;
CREATE TABLE `t_user` (
  `id` int(11) NOT NULL,
  `name` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT into `t_user` (id, name) VALUES ('3','3');
INSERT into `t_user` (id, name) VALUES ('4','4');
INSERT into `t_user` (id, name) VALUES ('5','5');
INSERT into `t_user` (id, name) VALUES ('6','6');




查询

SELECT COUNT(*) from t_user;

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-04-06 23:15:00  更:2022-04-06 23:17:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 4:58:07-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码