借助MyCat如何實(shí)現(xiàn)MySQL分庫(kù)分表的方法-創(chuàng)新互聯(lián)

這篇文章給大家分享的是有關(guān)借助MyCat如何實(shí)現(xiàn)MySQL分庫(kù)分表的方法的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過來看看吧。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡(jiǎn)單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:申請(qǐng)域名、虛擬空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、靈武網(wǎng)站維護(hù)、網(wǎng)站推廣。
?

借助MyCat來實(shí)現(xiàn)MySQL的分庫(kù)分表落地,沒有實(shí)現(xiàn)過的,或者沒了解過的可以看看

?

本文使用環(huán)境

  • MySQL8.0
  • Centos7.3

一、MyCat安裝

避免提示廣告問題,自己去打開MyCat的官方地址去復(fù)制下載地址,這里咔咔就不提供了。

咔咔使用的虛擬機(jī)是centos7.3,需要環(huán)境的jdk已經(jīng)有了,就不在寫教程了。如沒有的話,百度搜搜就可以了哈!

下圖就是安裝成功的安裝包借助MyCat如何實(shí)現(xiàn)MySQL分庫(kù)分表的方法進(jìn)行解壓:tar -zxvf Mycat-server-1.6.7.1-release-20200209222254-linux.tar.gz,解壓成功后會(huì)在目錄下存在一個(gè)mycat目錄。

二、創(chuàng)建一個(gè)新的MySQL用戶

需要?jiǎng)?chuàng)建一個(gè)新的MySQL用戶用來連接Mycat

以下就是創(chuàng)建用戶的流程

// 創(chuàng)建mycat用戶
CREATE USER 'mycat'@'%' IDENTIFIED BY 'mycat';
// 修改密碼
ALTER USER 'mycat'@'%' IDENTIFIED WITH mysql_native_password BY ’Fang,1996';
// 刷新權(quán)限
FLUSH PRIVILEGES;

三、配置MyCat

配置項(xiàng)一:server.xml

此處使用上邊創(chuàng)建的新的MySQL用戶mycat,可以管理的邏輯庫(kù)為mycat_order,對(duì)應(yīng)schema.xml中的<schema name="mydatabase"

框出的來的解讀一下

第一行:name值后邊是上邊創(chuàng)建的MySQL用戶 第二行:是mycat用戶的密碼 第三行:是數(shù)據(jù)庫(kù)

借助MyCat如何實(shí)現(xiàn)MySQL分庫(kù)分表的方法配置項(xiàng)二:schema.xml

這個(gè)文件主要修改連接其他數(shù)據(jù)庫(kù)的倆個(gè)節(jié)點(diǎn)

使用規(guī)則是mod-long這個(gè)需要注意一下子

在這塊的配置咔咔卡了很久,下面這個(gè)是咔咔已經(jīng)配置好的借助MyCat如何實(shí)現(xiàn)MySQL分庫(kù)分表的方法

配置項(xiàng)三:rule.xml

這里是order_id使用mod-long規(guī)則借助MyCat如何實(shí)現(xiàn)MySQL分庫(kù)分表的方法這個(gè)修改就是你有幾個(gè)節(jié)點(diǎn)就寫多少即可借助MyCat如何實(shí)現(xiàn)MySQL分庫(kù)分表的方法

三、數(shù)據(jù)庫(kù)信息準(zhǔn)備

在倆臺(tái)服務(wù)器114.55.103.25和192.168.253.129創(chuàng)建數(shù)據(jù)庫(kù)kaka和kaka

分別創(chuàng)建t_order和t_order_detail倆張表

表結(jié)構(gòu)如下

CREATE TABLE `t_order_detail` (
 `od_id` int(11) 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=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `t_order` (
 `order_id` bagint(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=InnoDB DEFAULT CHARSET=utf8;

四、測(cè)試連接并插入數(shù)據(jù),查看數(shù)據(jù)分布狀態(tài)

連接:mysql -umycat -p -P8066 -h292.168.253.129 --default-auth=mysql_native_password

連接成功就可以看到我們的邏輯庫(kù)借助MyCat如何實(shí)現(xiàn)MySQL分庫(kù)分表的方法然后添加三個(gè)數(shù)據(jù)

insert into t_order (order_id,user_id,pay_mode,amount) values (next value for MYCATSEQ_ORDER,103,1
Query OK, 1 row affected (0.01 sec)

insert into t_order (order_id,user_id,pay_mode,amount) values (next value for MYCATSEQ_ORDER,103,1
Query OK, 1 row affected (0.01 sec)

insert into t_order (order_id,user_id,pay_mode,amount) values (next value for MYCATSEQ_ORDER,103,1
Query OK, 1 row affected (0.01 sec)

這個(gè)時(shí)候我們查看一下邏輯庫(kù)的t_order數(shù)據(jù),這里的order_id本應(yīng)該是從1000開始的,之前咔咔做測(cè)試使用了一些。借助MyCat如何實(shí)現(xiàn)MySQL分庫(kù)分表的方法這時(shí)我們?cè)趤砜?92.168.253.129和114.55.103.25這倆臺(tái)數(shù)據(jù)庫(kù)的數(shù)據(jù)分布

「192.168.253.129數(shù)據(jù)庫(kù)」這個(gè)可以看到進(jìn)入了倆條數(shù)據(jù)

借助MyCat如何實(shí)現(xiàn)MySQL分庫(kù)分表的方法「144.55.103.25數(shù)據(jù)庫(kù)」

這臺(tái)數(shù)據(jù)庫(kù)只進(jìn)入了一條數(shù)據(jù)借助MyCat如何實(shí)現(xiàn)MySQL分庫(kù)分表的方法

五、分頁(yè)查詢,需要的數(shù)據(jù)在不同表的查詢

其實(shí)這一切mycat都已經(jīng)幫你做好了

比如現(xiàn)在user_id為103的數(shù)據(jù)分布分倆臺(tái)數(shù)據(jù)庫(kù)上,我們進(jìn)行查詢

借助MyCat如何實(shí)現(xiàn)MySQL分庫(kù)分表的方法還有分頁(yè)問題,都跟平時(shí)一樣的借助MyCat如何實(shí)現(xiàn)MySQL分庫(kù)分表的方法

六、總結(jié)

  • 數(shù)據(jù)庫(kù)使用MySQL8.0需要注意密碼問題
  • 在配置schema.xml時(shí)需要注意
  • 配置server.xml時(shí)邏輯庫(kù)在user用戶雖然不需要但是也需要改為一致
  • 修改MySQL用戶的host為%
  • 密碼驗(yàn)證規(guī)則設(shè)置為mysql_native_password
  • 連接mycat時(shí)一定要帶著mysql_native_password這個(gè)參數(shù)

感謝各位的閱讀!關(guān)于借助MyCat如何實(shí)現(xiàn)MySQL分庫(kù)分表的方法就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

文章標(biāo)題:借助MyCat如何實(shí)現(xiàn)MySQL分庫(kù)分表的方法-創(chuàng)新互聯(lián)
文章URL:http://www.muchs.cn/article34/ddspse.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)域名注冊(cè)、電子商務(wù)、軟件開發(fā)、微信公眾號(hào)、網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)