1. 程式人生 > >mycat 單資料庫例項多資料庫分庫分表插入查詢配置

mycat 單資料庫例項多資料庫分庫分表插入查詢配置

下載Mycat 1.6 window版:

配置server.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!-- - - Licensed under the Apache License, Version 2.0 (the "License"); 
	- you may not use this file except in compliance with the License. - You 
	may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 
	- - Unless required by applicable law or agreed to in writing, software - 
	distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT 
	WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the 
	License for the specific language governing permissions and - limitations 
	under the License. -->
<!DOCTYPE mycat:server SYSTEM "server.dtd">
<mycat:server xmlns:mycat="http://io.mycat/">
	<system>
 	<property name="serverPort">8066</property>
	<property name="defaultSqlParser">druidparser</property>

</system>

<user name="root">

	<property name="password">123456</property>

	<property name="schemas">MyCAT_DB</property>

</user>

</mycat:server>

配置schema.xml

<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
<schema name="MyCAT_DB" checkSQLschema="false" sqlMaxLimit="100">
		

		<!-- global table is auto cloned to all defined data nodes ,so can join
			with any table whose sharding node is in the same data node -->

		<table name="sam_test" primaryKey="id_"  dataNode="dn1,dn2" rule="rule2" />
		
		<!-- <table name="oc_call" primaryKey="ID" dataNode="dn1$0-743" rule="latest-month-calldate"
			/> -->
	</schema>
	<!-- <dataNode name="dn1$0-743" dataHost="localhost1" database="db$0-743"
		/> -->
	<dataNode name="dn1" dataHost="localhost1" database="mycat_test" />
	<dataNode name="dn2" dataHost="localhost2" database="mycat_test1" />
	<!--<dataNode name="dn4" dataHost="sequoiadb1" database="SAMPLE" />
	 <dataNode name="jdbc_dn1" dataHost="jdbchost" database="db1" />
	<dataNode	name="jdbc_dn2" dataHost="jdbchost" database="db2" />
	<dataNode name="jdbc_dn3" 	dataHost="jdbchost" database="db3" /> -->
	<dataHost name="localhost1" maxCon="1000" minCon="10" balance="0"
			  writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
		<heartbeat>select user()</heartbeat>
		<!-- can have multi write hosts -->
		<writeHost host="hostM1" url="localhost:3306" user="root"
				   password="123456">
			<!-- can have multi read hosts -->
			<readHost host="hostS2" url="localhost:3306" user="root" password="123456" />
		</writeHost>
				  
		<!-- <writeHost host="hostM2" url="localhost:3316" user="root" password="123456"/> -->
	</dataHost>

		<dataHost name="localhost2" maxCon="1000" minCon="10" balance="0"
			  writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
		<heartbeat>select user()</heartbeat>
		<!-- can have multi write hosts -->
		<writeHost host="hostM1" url="localhost:3306" user="root"
				   password="123456">
			<!-- can have multi read hosts -->
			<readHost host="hostS2" url="localhost:3306" user="root" password="123456" />
		</writeHost>
				  
		<!-- <writeHost host="hostM2" url="localhost:3316" user="root" password="123456"/> -->
	</dataHost>
</mycat:schema>

資料庫指令碼:

CREATE DATABASE /*!32312 IF NOT EXISTS*/`mycat_test` /*!40100 DEFAULT CHARACTER SET utf8 */;

USE `mycat_test`;

/*Table structure for table `sam_test` */

DROP TABLE IF EXISTS `sam_test`;

CREATE TABLE `sam_test` (
  `id_` int(4) NOT NULL AUTO_INCREMENT,
  `name_` varchar(64) NOT NULL,
  `user_id` bigint(4) NOT NULL,
  PRIMARY KEY (`id_`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

測試程式:https://pan.baidu.com/s/1qWr4AF6

修改:


啟動web,新增資料:


檢視:


資料庫實際儲存:

mycat_test:


mycat_test1:


select 查詢


相關推薦

mycat 資料庫例項資料庫分庫插入查詢配置

下載Mycat 1.6 window版:配置server.xml:<?xml version="1.0" encoding="UTF-8"?> <!-- - - Licensed under the Apache License, Version 2.0 (

為什麼選擇第三代分散式關係資料庫而不是分庫的二代方案

       “網際網路經濟”所帶來的巨大流量使得企業、機構面臨外部訪問負載以及資料量的大幅飆升,很多企業資訊系統目前所採用的傳統集中式關係型資料庫越來越不適應海量資料以及高併發環境下對資料處理能力的要求,在應對此類場景時資料庫逐漸成為整體系統的瓶頸,擴充套件

架構師必備技能:資料庫優化手術刀——實戰分庫

在最初,應用的資料量比較少,沒有任何壓力,一般會將所有的資料放在一個庫中。但是隨著業務的增長,資料量急劇增長,DB壓力增大,似乎隨時都會掛掉。此時,優化DB的使用已經是勢在必行,以下有幾個方案。 1 優化對DB的使用 讀寫分離(肯定一開始就做了……)、索引、使用合理的sql等等。一些簡單的優化可以先

【乾貨】淺談分散式資料庫中介軟體之分庫

分庫分表,顧名思義就是把原本儲存於一個庫的資料分塊儲存到多個庫上,把原本儲存於一個表的資料分塊儲存到多個表上。那麼關於分庫分表,你瞭解多少呢?接下來,我們將從什麼是資料分片及如何進行分片兩方面對DDM分庫分表做一個闡釋。什麼是資料分片分片是解決資料庫儲存容量限制的直接途徑。分

淺談分散式資料庫中介軟體之分庫

     分庫分表,顧名思義就是把原本儲存於一個庫的資料分塊儲存到多個庫上,把原本儲存於一個表的資料分塊儲存到多個表上。那麼關於分庫分表,你瞭解多少呢?接下來,我們將從什麼是華為雲大資料解決方案的分片及如何進行分片兩方面對DDM分庫分表做一個闡釋。   

在.net core中完美解決租戶分庫的問題

 前幾天有人想做一個多租戶的平臺,每個租戶一個庫,可以進行水平擴充套件,應用端根據登入資訊,切換到不同的租戶庫 計劃用ef core實現,他們說做不出來,需要動態建立dbContext,不好實現 然而這個使用CRL很輕鬆就能解決了   以下為演示資料庫,有兩個庫testdb和testdb2

12C環境下分庫改造查詢優化

某交易查詢庫主要使用Oracle 12.1.0.2.0的In Memory特性快取三張按月分割槽的大表,In Memory元件主要是針對OLAP應用的,而這種應用絕大部分的操作都是查詢,而且很多時候只關心表中特定的一個或多個列,所以in memory特性還可以指定只把表中的特定的一個或多個列載入到in mem

資料庫分庫 sharding 系列 四 資料來源的事務處理

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

day81_淘淘商城專案_14_專案釋出 + Linux下安裝mysql + tomcat熱部署 + 資料庫分庫 + Mycat學習_匠心筆記

第十四天: 1、Linux上mysql的安裝 2、系統的部署 3、mycat的介紹 4、專案總結 5、面試中的問題 1、開發流程淺解 2、專案釋出前的準備 1、測試  a) 本地單元測試  b) 測試環境測試(1,2,3,4,5)  c) 使用

MySQL 高可用:mysql+mycat實現資料庫分片(分庫

什麼是MYCAT: 一個徹底開源的,面向企業應用開發的大資料庫叢集 支援事務、ACID、可以替代MySQL的加強版資料庫 一個可以視為MySQL叢集的企業級資料庫,用來替代昂貴的Oracle叢集 一個融合記憶體快取技術、NoSQL技術、HDFS大資料的新型SQL Se

MyCat】通過mycat實現mysql資料庫分庫及sql防火牆配置

前言:隨著業務的不斷髮展,不論你怎麼優化程式碼和負載均衡,都不得不面對資料庫效能的瓶頸,為了讓資料庫的效能得到極大改善,除了優化Mysql本身的配置,以及SQL語句和索引等優化,更重要的就是對現有資料庫進行合理拆分,然後分佈在不同的伺服器上,以減輕單個伺服器的IO壓力,本篇就

學會資料庫讀寫分離、分庫——用Mycat,這一篇就夠了!

轉:     https://www.cnblogs.com/joylee/p/7513038.html 系統開發中,資料庫是非常重要的一個點。除了程式的本身的優化,如:SQL語句優化、程式碼優化,資料庫的處理本身優化也是非常重要的。主從、熱備、分表分庫等都是系統

基於代理的資料庫分庫框架 Mycat實踐

文章共 1796字,閱讀大約需要 4分鐘 ! 概 述 在如今海量資料充斥的網際網路環境下,分庫分表的意義我想在此處就不用贅述了。而分庫分表目前流行的方案最起碼有兩種: 方案一:基於應用層的分片,即應用層程式碼直接完成分片邏輯 方案二:基於代理層的分片,即在應用程式碼和底層資料庫中

MyCat:對MySQL資料庫進行分庫

本篇前提: mycat配置正確,且能正常啟動。 1、schema.xml <table>標籤: dataNode -- 分片節點指定(取值:dataNode中的name屬性值) rule ------ 分片規則選擇(取值:rule標籤中的

基於代理的資料庫分庫框架 Mycat實踐 侵立刪

轉自:http://www.spring4all.com/article/1817   概 述 在如今海量資料充斥的網際網路環境下,分庫分表的意義我想在此處就不用贅述了。而分庫分表目前流行的方案最起碼有兩種: 方案一:基於應用層的分片,即應用層程式碼直接完成分片邏輯

資料庫分庫中介軟體:Mycat;分散式資料庫;mysql的分散式事務

官網:http://mycat.io/,裡面有電子書籍可以下載:http://www.mycat.io/document/mycat-definitive-guide.pdf 舊版本下載地址:https://github.com/MyCATApache/Mycat-download,最新軟體下載地址:htt

day81_淘淘商城專案_14_專案釋出 + Linux下安裝mysql + tomcat熱部署 + 反向代理的配置 + 資料庫分庫 + Mycat學習_匠心筆記

淘淘商城專案_14 1、開發流程淺解 2、專案釋出前的準備 3、專案部署 3.1、Linux下安裝mysql 3.2、專案架構講解 3.3、系統功能介紹 3.4、網路拓撲圖 3.5

資料庫讀寫分離、分庫——Mycat

系統開發中,資料庫是非常重要的一個點。除了程式的本身的優化,如:SQL語句優化、程式碼優化,資料庫的處理本身優化也是非常重要的。主從、熱備、分表分庫等都是系統發展遲早會遇到的技術問題問題。Mycat是一個廣受好評的資料庫中介軟體,已經在很多產品上進行使用了。希望通過這篇

分庫學習總結(2)——資料庫中介軟體MyCat學習總結之MyCat-Web原理介紹

Mycat是一個分庫分表的基於java開發的資料庫中介軟體,使用過程中需要有一個監控系統,mycat-web應運而生。mycat-web是一個使用SpringMVC + Mybatis的監控平臺,使用常用的監控系統協議SNMP-簡單網路管理協議(Simple Network

Mycat分庫的簡單實踐 / 用Mycat,學會資料庫讀寫分離、分庫

原創 楊建榮的學習筆記 2017-09-06 10:03 //沒找到原創地址,轉載別人的也沒留地址 。。。 MySQL的使用場景中,讀寫分離只是方案中的一部分,想要擴充套件,勢必會用到分庫分表,可喜的是Mycat裡已經做到了,今天花時間測試了一下,感覺還不錯。