中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

借助MyCat如何實現MySQL分庫分表的方法

發布時間:2020-08-18 11:16:20 來源:億速云 閱讀:668 作者:小新 欄目:MySQL數據庫

這篇文章給大家分享的是有關借助MyCat如何實現MySQL分庫分表的方法的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

?

借助MyCat來實現MySQL的分庫分表落地,沒有實現過的,或者沒了解過的可以看看

?

本文使用環境

  • MySQL8.0
  • Centos7.3

一、MyCat安裝

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

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

下圖就是安裝成功的安裝包借助MyCat如何實現MySQL分庫分表的方法進行解壓:tar -zxvf Mycat-server-1.6.7.1-release-20200209222254-linux.tar.gz,解壓成功后會在目錄下存在一個mycat目錄。

二、創建一個新的MySQL用戶

需要創建一個新的MySQL用戶用來連接Mycat

以下就是創建用戶的流程

// 創建mycat用戶
CREATE USER 'mycat'@'%' IDENTIFIED BY 'mycat';
// 修改密碼
ALTER USER 'mycat'@'%' IDENTIFIED WITH mysql_native_password BY ’Fang,1996';
// 刷新權限
FLUSH PRIVILEGES;

三、配置MyCat

配置項一:server.xml

此處使用上邊創建的新的MySQL用戶mycat,可以管理的邏輯庫為mycat_order,對應schema.xml中的<schema name="mydatabase"

框出的來的解讀一下

第一行:name值后邊是上邊創建的MySQL用戶 第二行:是mycat用戶的密碼 第三行:是數據庫

借助MyCat如何實現MySQL分庫分表的方法配置項二:schema.xml

這個文件主要修改連接其他數據庫的倆個節點

使用規則是mod-long這個需要注意一下子

在這塊的配置咔咔卡了很久,下面這個是咔咔已經配置好的借助MyCat如何實現MySQL分庫分表的方法

配置項三:rule.xml

這里是order_id使用mod-long規則借助MyCat如何實現MySQL分庫分表的方法這個修改就是你有幾個節點就寫多少即可借助MyCat如何實現MySQL分庫分表的方法

三、數據庫信息準備

在倆臺服務器114.55.103.25和192.168.253.129創建數據庫kaka和kaka

分別創建t_order和t_order_detail倆張表

表結構如下

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;

四、測試連接并插入數據,查看數據分布狀態

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

連接成功就可以看到我們的邏輯庫借助MyCat如何實現MySQL分庫分表的方法然后添加三個數據

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)

這個時候我們查看一下邏輯庫的t_order數據,這里的order_id本應該是從1000開始的,之前咔咔做測試使用了一些。借助MyCat如何實現MySQL分庫分表的方法這時我們在來看192.168.253.129和114.55.103.25這倆臺數據庫的數據分布

「192.168.253.129數據庫」這個可以看到進入了倆條數據

借助MyCat如何實現MySQL分庫分表的方法「144.55.103.25數據庫」

這臺數據庫只進入了一條數據借助MyCat如何實現MySQL分庫分表的方法

五、分頁查詢,需要的數據在不同表的查詢

其實這一切mycat都已經幫你做好了

比如現在user_id為103的數據分布分倆臺數據庫上,我們進行查詢

借助MyCat如何實現MySQL分庫分表的方法還有分頁問題,都跟平時一樣的借助MyCat如何實現MySQL分庫分表的方法

六、總結

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

感謝各位的閱讀!關于借助MyCat如何實現MySQL分庫分表的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

龙江县| 东明县| 蓬安县| 太康县| 宿州市| 额济纳旗| 紫金县| 孙吴县| 固阳县| 霍州市| 灵台县| 双牌县| 白山市| 马龙县| 延吉市| 克什克腾旗| 大同县| 德保县| 山西省| 井冈山市| 西乡县| 扎兰屯市| 西吉县| 策勒县| 黎城县| 临泉县| 泰顺县| 建湖县| 盐城市| 新宾| 宝山区| 梅河口市| 迁安市| 澎湖县| 常德市| 宁陵县| 二连浩特市| 大田县| 镇平县| 油尖旺区| 普宁市|