黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 連接Mycat數(shù)據(jù)庫的demo

連接Mycat數(shù)據(jù)庫的demo

更新時間:2021-07-07 16:54:40 來源:動力節(jié)點 瀏覽2310次

怎么通過mycat實現(xiàn)分庫分表的功能:

準備數(shù)據(jù)庫:

  • 第一臺mysql(130)上創(chuàng)建兩個數(shù)據(jù)庫,分表叫做db1、db2,然后再分別在db1、db2上創(chuàng)建一張相同的表
  • 在第二臺mysql(131)上創(chuàng)建數(shù)據(jù)庫名字叫做db3,然后再創(chuàng)建一張與db1、db2上相同的表
CREATE DATABASE db1 DEFAULT CHARACTER SET utf8;
CREATE DATABASE db2 DEFAULT CHARACTER SET utf8;
use db1;
CREATE TABLE product(
	id INT PRIMARY KEY,
	pname CHAR(20)
);
use db2;
CREATE TABLE product(
	id INT PRIMARY KEY,
	pname CHAR(20)
);
-------------------131-----------------
CREATE DATABASE db3 DEFAULT CHARACTER SET utf8;
use db3;
CREATE TABLE product(
	id INT PRIMARY KEY,
	pname CHAR(20)
);

 如果想要修改mycat登錄的賬號密碼,可以到conf/server.xml去修改

連接mycat

連接mycat

重新啟動的命令,切換到bin下執(zhí)行./mycat restart測試新的賬號密碼

修改mycat的conf/schema.xml文件,配置數(shù)據(jù)庫的url、賬號、密碼

連接mycat

配置數(shù)據(jù)參數(shù)

連接mycat

連接數(shù)據(jù)庫的過程:根據(jù)

中dataNode,得到節(jié)點的名字,例如dn1,然后再用dn1到所有的配置找是否有名字相同的,如果有則讀取到dataHost中指定的數(shù)據(jù)庫的配置,然后根據(jù)中配置url、用戶名、密碼連接到指定的數(shù)據(jù)庫,具體用哪個數(shù)據(jù)主要使用根據(jù)中的database決定,現(xiàn)在db1

重啟mycat

cd到bin執(zhí)行./mycat restart

通過Navicat操作mycat,雙擊mycat連接mycat,然后雙擊TESTDB選擇數(shù)據(jù)庫,如果雙擊TESTDB一直轉圈,那就是schema.xml文件配置有問題,檢查一下配置執(zhí)行./mycat restart

連接mycat

在product虛擬表中創(chuàng)建查詢,執(zhí)行插入數(shù)據(jù)的操作,此處有坑:通過mycat插入數(shù)據(jù)時,必須將所有的字段名寫出來,如果不寫執(zhí)行失敗

結果如下:

insert into product(id,pname)values(1,‘電腦’);db1

insert into product(id,pname)values(5000000,‘手機’);db1

insert into product(id,pname)values(5000001,‘空調’);db2

insert into product(id,pname)values(10000000,‘鐵鍋’);db2

insert into product(id,pname)values(10000001,‘筆記本’);db3

結論:

目前根據(jù)默認配置來說,切片的規(guī)則是根據(jù)id的范圍進行切分,id范圍[1,500W]存在db1的product表中,[5000001,1000W]存在db2的product表中,[10000001,1500W]存在db3的product中…

mycat中的一些分片規(guī)則(水平拆分表的規(guī)則)•在schema.xml中指定了當前默認的分片規(guī)則

連接mycat

在conf/rule.xml文件中定義一些mycat支持的規(guī)則,在里面可以看到分片的詳細規(guī)則

連接mycat

連接mycat

在conf/autopartition-long.txt里面設置了默認的分片細則

連接mycat

這里可以修改一下單位,把M修改成K

然后重啟mycat、將之前的數(shù)據(jù)刪除進行測試

insert into product(id,pname)values(1,‘電腦’);db1

insert into product(id,pname)values(500000,‘手機’);db1

insert into product(id,pname)values(500001,‘空調’);db2

insert into product(id,pname)values(1000000,‘鐵鍋’);db2

insert into product(id,pname)values(1000001,‘筆記本’);db3

結論:

通過mycat中的product虛擬表進行查詢操作

利用mycat查詢數(shù)據(jù)的流程:將sql發(fā)送到了mycat,mycat會根據(jù)schema.xml中配置將sql語句轉發(fā)給db1、db2、db3,然后這個三個數(shù)據(jù)庫分別執(zhí)行查詢然后將查詢出來的結果返回給mycat,然后mycat在對得到結果集進行整合,然后將最終的結果集返回給客戶端。

分片規(guī)則:

•默認的是根據(jù)id的范圍進行分片auto-sharding-long

•根據(jù)hash分片sharding-by-intfile

前提:一個字符串、對象它的哈希值是固定的

根據(jù)某個字段(id)的哈希值進行水平切分,例如下圖中訂單表存在大量的訂單,

連接mycat

根據(jù)用戶id的哈希值進行切分之后,可以保證同一個用戶的訂單在同一張表中。形成多張較小的表。

但是這樣也會存在一個問題:各個表中的數(shù)據(jù)不均勻,表也太多了,主要用于切分之后表不多的情況下使用

•取模分片mod-long

不同的對象他們的哈希值可能相同,就算哈希值不同對1024取余之后得到的余數(shù)也可能相同,可以保證同一個用戶id的數(shù)據(jù)在同一個數(shù)據(jù)庫中,同時余數(shù)相同的數(shù)據(jù)也都在同一個數(shù)據(jù)庫中,為了達到數(shù)據(jù)庫的負載均衡

連接mycat

以上就是動力節(jié)點小編介紹的"連接Mycat數(shù)據(jù)庫的demo",希望對大家有幫助,想了解更多可查看Mycat教程,如有疑問,請在線咨詢,有專業(yè)老師隨時為您服務。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 天干天干啦夜天天天视频 | 男女午夜视频在线观看 | 国产成人精品日本亚洲语音1 | 国产一区二区成人 | 免费在线色 | 欧美中文综合在线视频 | 在线免费黄视频 | 国产一区二区丁香婷婷 | 日韩精品免费视频 | 后式大肥臀国产在线 | 国产国语videosex | 天天色天天射综合网 | 国产欧美日韩中文久久 | 韩国三级伦理片 | 日韩天堂视频 | 免费在线中文字幕 | 精品区卡一卡2卡三免费 | 一级毛片在线免费观看 | 白丝挠脚心tk调教vk | 91啦中文成人 | 久久国产一区二区 | 欧美激情精品久久久久久不卡 | 一级国产特黄aa大片 | 欧美激情网址 | 久艹在线 | 在线观看一区 | 精品国产第一页 | 欧美日韩成人在线视频 | 免费一级黄色毛片 | 人人搞人人搞 | 在线播放你懂 | 人人艹人人| 51短视频版在线观看www免费 | 亚洲综合色一区二区三区另类 | 99爱视频| 日韩欧美国产高清在线观看 | 五月天精品视频播放在线观看 | 国产在线观看免费视频软件 | 中文字幕精品在线观看 | 亚洲国产中文字幕 | 最近免费中文完整视频观看 |