网站建设,爱思助手下载,c1驾照-微博飞机票,坐上微博快车,看整个世界

admin 2个月前 ( 07-14 06:54 ) 0条评论
摘要: -- can have multi read hosts --˃test...

一、什么是mycat

mycat是一个开源的数据库中间件创圣のアクエリオン ,它由阿里从前的开源产品Cobar演化而来。mycat的中心功用是分库分表,能够将一个大表水平分割为N个小表王永鉴,把数据库分红N个分片,存储在mysql服务器里或许其他数据库里,还能够完成读写别离,容灾备份等。

二网站建造,爱思帮手下载,c1驾照-微博飞机票,坐上微博快车,看整个国际、装置mycat并完成mysql分库分表

1.在两台或两台以上Linux服务器上装置mysql并发动(详细步骤省掉,引荐mysql是5.5以上版别,发动后留意要设置长途登录权限)

2.mycat装置及发动网站建造,爱思帮手下载,c1驾照-微博飞机票,坐上微博快车,看整个国际

下载mycat装置包,下载网站建造,爱思帮手下载,c1驾照-微博飞机票,坐上微博快车,看整个国际地址:

https://github.美津植秀泡泡氧气面膜com/MyCATApache/Mycat-download

第一步:将下载好的装置包上传到服务器

第二步:运用指令tar -zxvf Mycat-server-1.4-release-2金箍棒传奇3完整版0151019230038-linux.tar.gz mycat将压缩包解压缩

第三步:进入mycat目录的bin目录,启贠婺动mycat

mycat的默许端口为:8066

3.mycat分片配陈怡芬置

(1)装备schma.xml

schma.xmls mycat中很重要的装备之一,办理mycat的逻辑库网站建造,爱思帮手下载,c1驾照-微博飞机票,坐上微博快车,看整个国际。逻辑表以及对应的分片规矩等。

schema标签用于界说mycat实例的逻辑库,Table标签界说mycat中的逻辑表,rule用于指定分片规矩,dataNode标签界说mycat中的数据节点,也便是数据分片,dataHost标签界说mycat详细的数据库实例,读写别离装备和心跳句子。

在已装置好mysql的2台服务器上别离创立重生之席湛数据库db1、db2

修正schema.x家法板子ml如斑马街下:

writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">

select user()

password="mysql暗码">

writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">

select user()

password网站建造,爱思帮手下载,c1驾照-微博飞机票,坐上微博快车,看整个国际="m绝色大佬ysql暗码">

(2)装备server.xml

server.xml简直保存了一切mycat需求的系统装备信息。最常用的是在此装备用户名、暗码及权限。在system中增加UTF-8字符集设置,不然存储中文会呈现问号

utf8

修正user网站建造,爱思帮手下载,c1驾照-微博飞机票,坐上微博快车,看整个国际的装备,可修正用户名,暗码等(留意黯蹄废墟游荡者schema的特点值要与schem彭兰江a配网站建造,爱思帮手下载,c1驾照-微博飞机票,坐上微博快车,看整个国际置文件中共同)非秀不行

test

TESTDB

123456

TESTDB

4.mycat分片测验

(1)运用Navicat for MySQL东西衔接到mycat

进入到mycat,履行以下句子创立一个表:

CREATE TABLE tb_test (

id BIGINT(20) NOT NULL,

title VARCHAR(100) NOT NULL ,

PRIMARY KEY (id)

) ENGINE=INNODB DEFAULT CHARSET=utf8

刺进一些数据:

INSERT INTO TB_TEST(ID,TITLE) VALUES(1,'data1');

INSERT INTO TB_TEST(ID,TITLE) VALUES(2,'data2');

INSERT INTO TB_TEST(ID,TITLE) VALUES(3,'data3');

INSERT INTO TB_TEST(ID,TITLE) VALUES(4,'data4);

留意:假如报错ERROR 3009 (HY000):Java.lang.IllegalArgumentException: Invalid DataSource:0 ,按下面的处理方案处理:

把mysql中的mysql.user表中的root 用户的 host改为%深圳大保健后,重启mysql,mycat衔接后就能够操作表了。

咱们会发现这些数据被写入到第一个节点中了,那么怎样才能把数据写入到第二个节点呢?刺进下面的数据就能够刺进到第二个节点了

INSERT INTO TB_TEST(ID,TITLE) VALUES(5000001,'data5000001');

INSERT INTO TB_TEST(ID,TITLE) VALUES(5雨巷朗读女声丁建华神聊海吹000002,'data5000002');

由于咱们选用的分片规矩是每节点存储500万条数据,所以当ID大于5000000则会存储到第二个节点上,分片规矩在rule.xml文件中装备

在rule.xml中找到

id

rang-long

接着找rang-long的界说

class=王尒可微博"org.opencloudb.route.function.AutoPartitionByLong">

autopartition-long.txt

再翻开autopartition-long.txt,能够看到这儿装备了数据规模

# range start-end ,data node index

# K=1000,M=10000.

0-500M=0

500丧命情网M-1000M=1

1000M-1500M=2

上面的分片规矩适用于主键id是接连的数字,有的表主键是字符串,并不是接连的数字,上面的规矩就不适用了。能够运用共同性哈希murmur,将数据均匀分在几个分片中,也是在schema文件中进行装备,也比较简单,这儿不再叙说。

三、数据库读写别离

关于互联运用来说,数据库的访问量很大,进行读写别离很有必要。完成数据库读写别离,当主节点发作宕机时,还能从从节点查询到数据。mycat根据mysql的主从形式可完成读写别离,一个写节点Master后边跟着多个读节点,当履行增修改操作时向主节点建议恳求,履行查询操作时向从节点建议恳求,主节点数据发作改动后,根据mysql的主从复制形式,数据会主动同步到从节点。

装备mycat敞开读写别离,也是在schema.xml中进行装备,hostM1主节点与hostS1、hostS2从节点组成了一主二从的读写别离形式,参数balance决议了哪些mysql服务器参加到读sql的负载均衡中,0为不敞开读写别离

writeType="0" dbType="mysql" dbDriver="native">

select user()

/>

/>

总结:不管是数据库集群,仍是数寝取训练所据库的分库分表,读写别离,都能够运用Mycat 很简单的运用,假如您的项目也面临高并发,海量数据的压力,无妨试一试。

end:假如您也是一名技能从业者,假如我的文章对您有一点协助,费事点赞加重视,您的支撑是我持续共享文章的动力,谢谢!

文章版权及转载声明:

作者:admin本文地址:http://www.fjptwb.com/articles/2284.html发布于 2个月前 ( 07-14 06:54 )
文章转载或复制请以超链接形式并注明出处微博飞机票,坐上微博快车,看整个世界