最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
MyCat分庫分表--實(shí)戰(zhàn)07--按日期天

項(xiàng)目環(huán)境:  

公司主營業(yè)務(wù):網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出喀喇沁免費(fèi)做網(wǎng)站回饋大家。

192.168.8.30  mycat

192.168.8.31  node1

192.168.8.32  node2

192.168.8.33  node3

三個(gè)節(jié)點(diǎn)MySQL均為單實(shí)例

一、創(chuàng)建測試庫

node1

create database testdb01;
create database testdb02;
create database testdb03;
create database testdb04;
create database testdb05;
create database testdb06;
create database testdb07;
create database testdb08;
create database testdb09;
create database testdb10;
create database testdb11;
create database testdb12;

node2

create database testdb13;
create database testdb14;
create database testdb15;
create database testdb16;
create database testdb17;
create database testdb18;
create database testdb19;
create database testdb20;
create database testdb21;
create database testdb22;
create database testdb23;
create database testdb24;

node3

create database testdb25;
create database testdb26;
create database testdb27;
create database testdb28;
create database testdb29;
create database testdb30;
create database testdb31;
create database testdb32;
create database testdb33;
create database testdb34;
create database testdb35;
create database testdb36;

二、配置schema.xml




         
           
        
	
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
	
                select user()
                
                
        
        
                select user()
                
                
        
        
                select user()
                
                
        

三、配置rule.xml


        
                
                        adddate
                        sharding-by-date
                


                yyyy-MM-dd 
                2010-01-01 
                2020-12-31 
                120 

四、啟動(dòng)mycat

/usr/local/mycat/bin/mycat start

查看mycat日志

STATUS | wrapper  | 2018/11/22 19:03:02 | --> Wrapper Started as Daemon
STATUS | wrapper  | 2018/11/22 19:03:02 | Launching a JVM...
INFO   | jvm 1    | 2018/11/22 19:03:02 | OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=64M; support was removed in 8.0
INFO   | jvm 1    | 2018/11/22 19:03:04 | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
INFO   | jvm 1    | 2018/11/22 19:03:04 |   Copyright 1999-2006 Tanuki Software, Inc.  All Rights Reserved.
INFO   | jvm 1    | 2018/11/22 19:03:04 | 
INFO   | jvm 1    | 2018/11/22 19:03:08 | MyCAT Server startup successfully. see logs in logs/mycat.log

五、登錄MySQL查看邏輯表

mysql -uroot -pmysql -P8066 -h292.168.8.30
mysql> show databases;
+----------+
| DATABASE |
+----------+
| mycatdb  |
+----------+
1 row in set (0.02 sec)
mysql> use mycatdb;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables;
+-------------------+
| Tables in mycatdb |
+-------------------+
| user04            |
| user05            |
+-------------------+
2 rows in set (0.00 sec)
mysql> drop table if exists user05;
Query OK, 0 rows affected, 1 warning (0.57 sec)
mysql> create table user05(
    -> id int not null auto_increment,
    -> name varchar(64),
    -> adddate datetime,
    -> primary key(id)
    -> );
Query OK, 0 rows affected (1.56 sec)

六、插入測試數(shù)據(jù)

插入10條記錄

insert into user05(id,name,adddate) values(1,'steven','2011-05-09 12:32:12');
insert into user05(id,name,adddate) values(2,'steven','2012-05-09 12:32:12');
insert into user05(id,name,adddate) values(3,'steven','2013-05-09 12:32:12');
insert into user05(id,name,adddate) values(4,'steven','2014-05-09 12:32:12');
insert into user05(id,name,adddate) values(5,'steven','2015-05-09 12:32:12');
insert into user05(id,name,adddate) values(6,'steven','2016-05-09 12:32:12');
insert into user05(id,name,adddate) values(7,'steven','2017-05-09 12:32:12');
insert into user05(id,name,adddate) values(8,'steven','2018-05-09 12:32:12');
insert into user05(id,name,adddate) values(9,'steven','2019-05-09 12:32:12');
insert into user05(id,name,adddate) values(10,'steven','2020-05-09 12:32:12');

七、驗(yàn)證數(shù)據(jù)

node1

mysql> select * from testdb01.user05;
Empty set (0.00 sec)
mysql> select * from testdb02.user05;
Empty set (0.00 sec)
mysql> select * from testdb04.user05;
Empty set (0.00 sec)
mysql> select * from testdb05.user05;
+----+--------+---------------------+
| id | name   | adddate             |
+----+--------+---------------------+
|  1 | steven | 2011-05-09 12:32:12 |
+----+--------+---------------------+
1 row in set (0.00 sec)
mysql> select * from testdb06.user05;
Empty set (0.01 sec)
mysql> select * from testdb01.user05;
Empty set (0.00 sec)
mysql> select * from testdb02.user05;
Empty set (0.00 sec)
mysql> select * from testdb03.user05;
Empty set (0.00 sec)
mysql> select * from testdb04.user05;
Empty set (0.00 sec)
mysql> select * from testdb05.user05;
+----+--------+---------------------+
| id | name   | adddate             |
+----+--------+---------------------+
|  1 | steven | 2011-05-09 12:32:12 |
+----+--------+---------------------+
1 row in set (0.00 sec)
mysql> select * from testdb06.user05;
Empty set (0.01 sec)
mysql> select * from testdb07.user05;
Empty set (0.00 sec)
mysql> select * from testdb08.user05;
+----+--------+---------------------+
| id | name   | adddate             |
+----+--------+---------------------+
|  2 | steven | 2012-05-09 12:32:12 |
+----+--------+---------------------+
1 row in set (0.00 sec)
mysql> select * from testdb09.user05;
Empty set (0.01 sec)
mysql> select * from testdb10.user05;
Empty set (0.00 sec)
mysql> select * from testdb11.user05;
+----+--------+---------------------+
| id | name   | adddate             |
+----+--------+---------------------+
|  3 | steven | 2013-05-09 12:32:12 |
+----+--------+---------------------+
1 row in set (0.00 sec)
mysql> select * from testdb12.user05;
Empty set (0.00 sec)

node2

mysql> select * from testdb13.user05;
Empty set (0.00 sec)
mysql> select * from testdb14.user05;
+----+--------+---------------------+
| id | name   | adddate             |
+----+--------+---------------------+
|  4 | steven | 2014-05-09 12:32:12 |
+----+--------+---------------------+
1 row in set (0.00 sec)
mysql> select * from testdb15.user05;
Empty set (0.00 sec)
mysql> select * from testdb16.user05;
Empty set (0.00 sec)
mysql> select * from testdb17.user05;
+----+--------+---------------------+
| id | name   | adddate             |
+----+--------+---------------------+
|  5 | steven | 2015-05-09 12:32:12 |
+----+--------+---------------------+
1 row in set (0.00 sec)
mysql> select * from testdb18.user05;
Empty set (0.00 sec)
mysql> select * from testdb19.user05;
Empty set (0.00 sec)
mysql> select * from testdb20.user05;
+----+--------+---------------------+
| id | name   | adddate             |
+----+--------+---------------------+
|  6 | steven | 2016-05-09 12:32:12 |
+----+--------+---------------------+
1 row in set (0.00 sec)
mysql> select * from testdb21.user05;
Empty set (0.00 sec)
mysql> select * from testdb22.user05;
Empty set (0.00 sec)
mysql> select * from testdb23.user05;
+----+--------+---------------------+
| id | name   | adddate             |
+----+--------+---------------------+
|  7 | steven | 2017-05-09 12:32:12 |
+----+--------+---------------------+
1 row in set (0.01 sec)
mysql> select * from testdb24.user05;
Empty set (0.00 sec)

node3

mysql> select * from testdb25.user05;
Empty set (0.00 sec)
mysql> select * from testdb26.user05;
+----+--------+---------------------+
| id | name   | adddate             |
+----+--------+---------------------+
|  8 | steven | 2018-05-09 12:32:12 |
+----+--------+---------------------+
1 row in set (0.00 sec)
mysql> select * from testdb27.user05;
Empty set (0.00 sec)
mysql> select * from testdb28.user05;
Empty set (0.00 sec)
mysql> select * from testdb29.user05;
+----+--------+---------------------+
| id | name   | adddate             |
+----+--------+---------------------+
|  9 | steven | 2019-05-09 12:32:12 |
+----+--------+---------------------+
1 row in set (0.00 sec)
mysql> select * from testdb30.user05;
Empty set (0.00 sec)
mysql> select * from testdb31.user05;
Empty set (0.01 sec)
mysql> select * from testdb32.user05;
+----+--------+---------------------+
| id | name   | adddate             |
+----+--------+---------------------+
| 10 | steven | 2020-05-09 12:32:12 |
+----+--------+---------------------+
1 row in set (0.00 sec)
mysql> select * from testdb33.user05;
Empty set (0.01 sec)
mysql> select * from testdb34.user05;
Empty set (0.00 sec)
mysql> select * from testdb35.user05;
Empty set (0.00 sec)
mysql> select * from testdb36.user05;
Empty set (0.01 sec)

可以看到10條測試數(shù)據(jù)按照120天一個(gè)分片,按順序分布在各個(gè)數(shù)據(jù)庫中,驗(yàn)證完畢。

遇到的問題:

第一次配置時(shí)候,在rule.xml中配置的90天一個(gè)分片,于是報(bào)錯(cuò):

Caused by: io.mycat.config.util.ConfigException: Illegal table conf : table [ USER05 ] rule function [ sharding-by-date ] partition size : 45 > table datanode size : 36, please make sure table datanode size = function partition size

排查發(fā)現(xiàn):從2011-01-01到2020-12-31大約4015天,4015/90=44.61111111111111個(gè)分片,超出了預(yù)設(shè)的36個(gè)庫。

調(diào)整以后:4015/120=33.45833333333333個(gè)分片,在36個(gè)庫范圍之內(nèi)。


當(dāng)前文章:MyCat分庫分表--實(shí)戰(zhàn)07--按日期天
本文鏈接:http://fisionsoft.com.cn/article/ihpcoj.html