一:关于MyCat
什么是MyCat:
3:一个可以视为MysqL集群的企业级数据库,用来代替昂贵的Oracle集群。
4:一个融合内存缓存技术,Nosql技术,HDFS大数据的新型sql Server。
5:结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品。
MyCat能做什么,有什么用途:
1:分库分表,把一个数据库切分成多个部分放到不同的数据库(server)上,从而缓解单一数据库的性能问题。
2:读写分离,线性的提升数据库的读心梗,消除读写锁冲突从而提升数据库的写性能。
MyCat官方链接:
GiHub:https://github.com/MyCATApache/Mycat-Server
下载地址:https://github.com/MyCATApache/Mycat-download
本文使用版本:Mycat-server-1.6.7.1-release
个人链接(如果下载不便可以自提1.6.7版本):MyCat-server-1.6.7.1-release下载地址 (访问密码:5458)
二:使用教程
前提注意事项:MyCat不负责任何数据同步问题,因此需要提前配置好MysqL的主从复制数据自动同步功能。可以参考之前的文章进行配置:
@L_502_5@
MyCat三个主要配置文件:
rule.xml:表示分片规则。
schema.xml:是最主要的配置项,可配置物理数据库连接与分片等。
在 mycat:server 标签下配置用户名和密码(自定义),使用客户端连接 MyCat 的时候会用到,就如同 MysqL 的连接用户名和密码。
(system标签里的东西不用动,其他的保留一个user标签配置好就可以)。
name:连接时的用户名称。
password:连接密码。
schemas:schemas.xml 配置文件中 schema 标签对应的配置,同时也是数据库名称。
2:配置 schema.xml
schema 标签:
checksqlschema:数据库前缀设置,如果为true,select * from testDB.company会变为 select * from company 这种格式,会去掉testDB数据库前缀。
name:自定义。
dataHost:对应dataHost 标签的 name。
database:数据库名。
dataHost 标签:
name:自定义。
maxCon:指定每个读写实例连接池的最大连接数。
minCon:指定每个读写实例连接池的最小连接数。
balance:
balance="0":不开启读写分离机制,所有读操作都发送到当前可用的 writeHost 上。
balance="1":全部的 readHost 与 stand by writeHost 参与 select 语句的负载均衡。
balance="2":所有读操作都随机的在 writeHost、readHost 上分发。
balance="3":所有读请求随机的分发到 wiriterHost 对应的 readHost 执行,writerHost 不负担读压力,balance="3"只有1.4版本及以后版本有。
writeType:
writeType="0":所有的写操作发送到配置的第一个 writeHost,第一个挂了切到还生存的第二个 writeHost,重新启动后以切换后的为准,切换记录在“dnindex.proerties”配置文件中。
writeType="1":所有写操作都随机的发送到配置的 writeHost。
writeHost 标签:配置接收写操作的数据库服务信息,示例为主服务器3307。
readHost 标签:配置接收读操作的数据库服务信息,示例为从服务器3308。
3:MyCat启动
点击 bin 目录下的 mycat.bat,安装 mycat 服务。
如果没有安装上,使用管理员命令窗口进入该目录执行一下命令:
mycat.bat install
启动服务,默认端口8066。
4:使用 MysqL 客户端连接 MyCat ,并写入数据
示例使用的是 Navicat。
可以往从数据库3308的test表中加一条数据,
然后在mycat数据库中查看是否有变化(测试过记得删除,保证从主服务数据一致)。
在MyCat连接中执行一个插入数据语句。
查看主数据库3307库中的test表:
查看从数据库3308库中的test表:
额外注意:主节点(写库)宕机时,读节点也不能读。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。