我们已经准备好了,你呢?

2024我们与您携手共赢,为您的企业形象保驾护航!

1.什么是mycat

Mycat 是一款开源数据库中间件,由阿里巴巴前开源产品 Cobar 发展而来。mycat 的核心功能是将数据库拆分成表和库,可以将一个大表水平拆分成 N 个小表,将数据库分成 N 个 Shard,分别存储在 MySQL 服务器或其他数据库中,还可以实现读写分离、容灾备份等。

数据库中执行存储过程_mysql执行存储过程_mysql 存储过程执行多个sql

2.安装mycat并实现mysql分库分表

1、在两台或多台Linux服务器上安装MySQL并启动(具体步骤省略,建议使用.5以上版本,启动后务必设置远程登录权限)

2.mycat的安装与启动

下载mycat安装包,下载地址:

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

第二步:使用命令tar -zxvf Mycat--1.4--238-linux.tar.gz mycat解压压缩包

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

mycat默认端口为:8066

3.mycat分片配置

(1)配置schma.xml

schma.xmls是mycat中重要的配置之一,管理mycat的逻辑库,逻辑表以及对应的规则等。

tags用于定义mycat实例的逻辑库,Table标签定义mycat中的逻辑表,rule用于指定规则,tag定义mycat中的数据节点,即数据分片,tag定义mycat具体的数据库实例,读写分离配置以及心跳语句。

在已经安装mysql的两台服务器上创建数据库db1、db2

修改.xml如下:

="0"="mysql"=""="1"="100">

用户()

=“mysql 密码”>

="0"="mysql"=""="1"="100">

用户()

=“mysql 密码”>

(2).xml

.xml保存了mycat所需的几乎所有系统配置信息,最常用的就是配置用户名、密码、权限等。里面要添加UTF-8字符集设置,否则存储中文时会出现问号。

utf8

修改用户配置,可以修改用户名,密码等(注意属性值要和配置文件一致)

测试

4.mycat分片测试

(1)使用工具连接mycat

数据库中执行存储过程_mysql执行存储过程_mysql 存储过程执行多个sql

进入mycat,执行如下语句,创建表:

桌子 (

id(20)不为空,

标题(100)NOT NULL,

密钥(ID)

)= =utf8

插入一些数据:

INTO (ID,TITLE) (1,'数据1');

进入(ID,标题)(2,'数据2');

INTO (ID,TITLE) (3,'data3');

INTO (ID,TITLE) (4,'data4);

注意:若出现ERROR 3009 (HY000): Java.lang.tion: :0错误,请按照以下方法解决:

将mysql中mysql.user表中root用户的host改为%后,重启mysql,mycat连接上之后就可以操作该表了。

我们会发现数据被写入到了第一个节点,那么如何才能将数据写入到第二个节点呢? 插入如下数据,将其插入到第二个节点中。

进入(ID,标题)(,“”);

进入(ID,标题)(,“”);

因为我们采用的分片规则是每个节点存储500万数据,当ID大于时,会存储在第二个节点上,分片规则在rule.xml文件中配置

在rule.xml中找到

ID

朗隆

接下来,找到 rang-long 的定义

类=“org..route..”>

-长.txt

再次打开-long.txt,可以看到这里配置了数据范围

# 范围起始-结束,数据节点索引

#K=1000,M=10000。

0-500米=0

500M-1000M=1

1000米-1500米=2

上述分片规则适用于主键id为连续数字的表,对于部分主键为字符串而非连续数字的表,上述规则不适用。可以使用一致性哈希将数据均匀划分为若干个分片,这也是在一个文件中配置的,比较简单,这里就不赘述了。

3.数据库读写分离

对于互联互通的应用,数据库的访问量很大,所以需要进行读写分离。通过实现数据库读写分离,当主节点宕机时,仍然可以从从节点查询数据。Mycat可以基于MySQL的主从模式实现读写分离。一个写节点后面跟着多个读节点,在进行增删改操作时,向主节点发起请求,在进行查询操作时,向从节点发起请求。主节点数据发生变化后,基于MySQL的主从复制模式,数据会自动同步到从节点。

mysql 存储过程执行多个sql_数据库中执行存储过程_mysql执行存储过程

配置mycat开启读写分离,也是在.xml中配置,主节点和从节点组成主从读写分离模式,参数决定哪些MySQL服务器参与读SQL的负载均衡,0表示不开启读写分离。

="0"="mysql"="">

用户()

/>

/>

总结:无论是数据库集群、数据库分片、还是读写分离,Mycat 都可以很轻松的使用,如果你的项目也面临高并发、海量数据的压力,不妨尝试一下。

结束语:如果你也是一名技术从业者,如果我的文章对你有帮助的话,请点赞关注,你们的支持是我继续分享文章的动力,谢谢!

二维码
扫一扫在手机端查看

本文链接:https://by928.com/3192.html     转载请注明出处和本文链接!请遵守 《网站协议》
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。

项目经理在线

我们已经准备好了,你呢?

2020我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

13761152229

上班时间

周一到周五

公司电话

二维码
微信
线