1. 程式人生 > >mycat+mysql分片

mycat+mysql分片

下載mycat完成環境變數配置:

name:MYCAT_HOME
value:D:\user\mycat
加入系統路徑
name:path
value:;%MYCAT_HOME%\bin;

server,rule的xml檔案為預設mycat配置和分片規則,主要配置schamal:

<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">

	<schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100">
		<table name="h" primaryKey="ID" dataNode="ddn1,ddn2,ddn3,ddn4,ddn5,ddn6,ddn7,ddn8" rule="mod-long" />
	</schema>
	<dataNode name="dn1" dataHost="localhost1" database="db1" />
	<dataNode name="dn2" dataHost="localhost1" database="db2" />
	<dataNode name="dn3" dataHost="localhost2" database="db3" />
	<dataNode name="dn4" dataHost="localhost2" database="db2" />
	
		<dataNode name="ddn1" dataHost="localhost1" database="db1" />
        <dataNode name="ddn2" dataHost="localhost1" database="db2" />
        <dataNode name="ddn3" dataHost="localhost1" database="db3" />
        <dataNode name="ddn4" dataHost="localhost1" database="db4" />
        <dataNode name="ddn5" dataHost="localhost2" database="db1" />
        <dataNode name="ddn6" dataHost="localhost2" database="db2" />
        <dataNode name="ddn7" dataHost="localhost2" database="db3" />
        <dataNode name="ddn8" dataHost="localhost2" database="db4" />
	
	<dataHost name="localhost1" maxCon="1000" minCon="10" balance="0"
			  writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
		<heartbeat>select user()</heartbeat>
		<writeHost host="hostM1" url="localhost:3306" user="root"
				   password="19941101">
			<readHost host="hostS2" url="localhost:3306" user="root" password="1101" />
		</writeHost>

	</dataHost>
	
	<dataHost name="localhost2" maxCon="1000" minCon="10" balance="0"
			  writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
		<heartbeat>select user()</heartbeat>
		<writeHost host="hostM2" url="19.168.172.128:3306" user="root"
				   password="19941101">
			<readHost host="hostS2" url="19.168.172.128:3306" user="root" password="1101" />
		</writeHost>

	</dataHost>
	
	
	



</mycat:schema>

一個虛擬表可以對應多個節點,並指明分片方法和主鍵,一個node對應一個數據庫,在host中配置具體的資料庫,並在具體庫中建立相應表,完成和實際表的對映。
rule規則:

	<tableRule name="mod-long">
		<rule>
			<columns>ID</columns>
			<algorithm>mod-long</algorithm>
		</rule>
	</tableRule>
	<function name="mod-long" class="io.mycat.route.function.PartitionByMod">
		<!-- how many data nodes -->
		<property name="count">3</property>
	</function>

在mycat插入資料時,ID為必須插入的欄位,這是插入哪個資料庫具體表的依據。
配置完成後開啟mycat bin目錄:

mycat start

啟動服務
mycat埠為8066

INSERT INTO h(ID,task) values (6,'hg');

mycat會取模以後插入具體庫和表
得到一個彙集所有表的虛擬表以及可以將資料插入任意表,完成基本操作

相關推薦

mycat+mysql分片

下載mycat完成環境變數配置: name:MYCAT_HOME value:D:\user\mycat 加入系統路徑 name:path value:;%MYCAT_HOME%\bin; server,rule的xml檔案為預設mycat配置和分片規則,主要

MyCat之路 | Mysql分片的配置

需求及環境分析 1、需求 把 tb_item 表分片儲存到三個資料節點上。 2、安裝環境分析 一臺 mycat伺服器: mycat-server:10.73.150.4 兩臺 mysql 資料庫伺服器: mysql-server-01:10.73.150

mycat 離散分片 -&gt; 程序指定分區的分片

spa ssi ica arc direct ted def cut roo 1。程序指定分區的分片 此規則是在運行階段有應用自主決定路由到那個分片。 此方法為直接依據字符子串(必須是數字)計算分區號(由應用傳遞參數。顯式指定分區號)。 2

haproxy+keepalived+mycat+mysql (讀寫分離)

haproxy+keepalived+m描述:架構方案: mysql (master/slave) --gtid 方式主備(pos 也可)mycat (master/slave) --xinted 插件時間主備模式haproxy (master/slave) --keepalived 自動切換--keepal

mycat分離分片

mysql innobackupex mysql主從 mycat rename table 背景:當前分片中有5張表,計劃將按月分片的日誌表分離到其他服務器。 要求:不影響業務情況下進行分離日誌表。 實驗計劃: 1.使用pt工具導出部分庫、部分表,並應用備份集。 2.搭建部分表主

mysql分片

-type position 復合 中一 更改 一個數據庫 特定 拆分 單獨 mysql向外擴展(橫向擴展或者水平擴展)策略主要有三方面:復制、拆分、數據分片; 水平擴展的最簡單的方式就是通過復制將數據分發到多個服務器上,然後將備庫用於讀查詢。復制技術用於以讀為主的服務效果

網際網路架構之Mycat分片規則

常用的分片規則一共有10個 一、列舉法 <tableRule name="sharding-by-intfile"> <rule> <columns>user_id</columns> <algorithm>hash-int

針對innodb_flush_method引數的理解和對比測試(mycat+mysql

    mysql的innodb_flush_method這個引數控制著innodb資料檔案及redo log的開啟、刷寫模式,對於這個引數,文件上是這樣描述的: 有三個值:fdatasync(預設),O_DSYNC,O_DIRECT 預設是fdatasync,呼叫fsync()去刷資料檔

Mycat-mysql資料庫切分

1.資料庫切分概述    還來資料的儲存與訪問成為系統設計與使用的瓶頸問題。    兩種型別:聯機事物處理(OLTP)和聯機分析處理(OLAP) 2.資料切分:就是指通過某種特定的條件,將我們存放在同一個資料庫中的資料分散存放到多個數據庫(主 機)上面,以達到分散單臺裝置負載

mycat+mysql實現多租戶配置

前言 網上的許多mycat安裝教程並不能解決我遇到的問題,特此記錄一下 mycat安裝 mycat的安裝很簡單,但是版本很重要,我就在這裡栽了跟頭… 一開始隨便在網上找了一個版本如下: 解壓後安裝步驟如下: 配置環境變數path: D:\mycat1.4\M

mycat+mysql叢集:實現讀寫分離,分庫分表

1.mycat文件:https://github.com/MyCATApache/Mycat-doc       官方網站:http://www.mycat.org.cn/2.mycat的優點:配置簡單,靈活可實現讀寫分離可利用多種規則實現分庫分表心跳機制,自動踢出故障機組

mycat分片

分表分庫雖然能解決大表對資料庫系統的壓力,但它並不是萬能的,也有一些不利之處,因此首要問題是, 分不分庫,分哪些庫,什麼規則分,分多少分片。 原則一:能不分就不分,1000 萬以內的表,不建議分片,通過合適的索引,讀寫分離等方式,可以很好的解決效能問題。 原則二:分片數量儘量

MyCAT+MySQL 搭建高可用企業級數據庫集群

調試 元素 eat linux 核心 適合 算法 用途 什麽 第1章 課程介紹課程介紹1-1 MyCAT導學 試看1-2 課程介紹 第2章 MyCAT入門這一章中,我們將回顧了垂直切分,水平切分,分庫分表等基礎概念,然後快速回如何安裝和啟動MyCAT的,介紹如何以打包好的可

CentOS安裝配置Mycat+mysql水平分割,實現分散式儲存

轉自http://blog.csdn.net/testcs_dn/article/details/51438216 謝謝作者的貢獻! 環境:CentOS6.5 JDK1.8 MySQL5.6.35 MyCat1.4 1.首先安裝MySQL,安裝步驟可以參考http://b

Mycat分片方法

概述   本篇文章主要介紹Mycat以月進行分片的方法,包括配置方法、注意事項等。 mycat版本:1.4 資料節點:dn1,dn2,dn3 架構:主從 配置    建立測試表 CREATE TABLE `tdate` ( `id` int(11) NOT NULL, `cr

資料庫專家:MySQL分片水很深

幾年前,有客戶來找我,希望獲得關於如何對系統分片的一些指導建議。他告訴我說,自從他知道很多應用MySQL的巨頭(比如Facebook和Twitter)都在使用分片技術以後他就也想這麼做。他們(這些巨頭)都是聰明人,所以很自然他也相信自己需要這麼做。 我停了一會然後問他的資

MySQL分片水很深

在與客戶討論分片決策的時候,我經常會先給他們講下面這個真實的故事。幾年前,有客戶來找我,希望獲得關於如何對系統分片的一些指導建議。他告訴我說,自從他知道很多應用MySQL的巨頭(比如Facebook和Twitter)都在使用分片技術以後他就也想這麼做。他們(這些巨頭)都

Mycat+Mysql主從複製+haproxy+keepalived實現高可用的分庫分表叢集方案

一, 部署架構 1.1架構圖 1.2 軟體版本 作業系統: CentOS2-7-X86_64-DVD-1708.iso JDK 版本: jdk1.8.0_11 Keepalived 版本: keepalived-1.2.18.tar.gz

keepalived+mycat+mysql框架搭建

介紹 Keepalived: v1.2.13 Linux:centos x64 6.8版本 Mycat:1.5.1版本 Mysql:5.6.21版本 nc: 1.84-24 ipvsadm: 1.26-4 jdk:1.7 架構介紹: 四臺主機: Master:192.16

mycat 連續分片 -> 按日期(天)分片

1,按日期(天)分片 按日期(天)分片:從開始日期算起,按照天數來分片 例如,從2016-01-01,每10天一個分片 注意事項:需要提前將分片規劃好,建好,否則有可能日期超出實際配置分片數 2,新增配置檔案 在function.xml裡面進行