您好,登錄后才能下訂單哦!
這篇文章給大家介紹使用MyCat怎么實現MySQL分庫分表,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
避免提示廣告問題,自己去打開MyCat的官方地址去復制下載地址,這里咔咔就不提供了。
咔咔使用的虛擬機是centos7.3,需要環境的jdk已經有了,就不在寫教程了。如沒有的話,百度搜搜就可以了哈!
下圖就是安裝成功的安裝包進行解壓: tar -zxvf Mycat-server-1.6.7.1-release-20200209222254-linux.tar.gz
,解壓成功后會在目錄下存在一個 mycat
目錄。
需要創建一個新的MySQL用戶用來連接Mycat
以下就是創建用戶的流程
// 創建mycat用戶CREATE USER 'mycat'@'%' IDENTIFIED BY 'mycat'; // 修改密碼ALTER USER 'mycat'@'%' IDENTIFIED WITH mysql_native_password BY ’Fang,1996'; // 刷新權限FLUSH PRIVILEGES;
配置項一:server.xml
此處使用上邊創建的新的MySQL用戶mycat,可以管理的邏輯庫為mycat_order,對應schema.xml中的<schema name="mydatabase"
框出的來的解讀一下
第一行:name值后邊是上邊創建的MySQL用戶 第二行:是mycat用戶的密碼 第三行:是數據庫
配置項三:rule.xml
這里是order_id使用mod-long規則
在倆臺服務器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
連接成功就可以看到我們的邏輯庫這時我們在來看192.168.253.129和114.55.103.25這倆臺數據庫的數據分布
「192.168.253.129數據庫 」 這個可以看到進入了倆條數據
其實這一切mycat都已經幫你做好了
比如現在user_id為103的數據分布分倆臺數據庫上,我們進行查詢
關于使用MyCat怎么實現MySQL分庫分表就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。