当前位置: 首页 > 后端技术 > PHP

Mycat实践一:初识Mycat

时间:2023-03-29 18:48:31 PHP

MycatMycat简介1.一个完全开源的,面向企业应用开发的大型数据库集群2.一个支持事务、ACID、可替代MySQL的增强型数据库3.一个可以看作是aMySQL集群企业级数据库,用于替代昂贵的Oracle集群4.融合内存缓存技术、NoSQL技术、HDFS大数据的新型SQLServer5.传统数据库与新型数据库相结合的新一代企业级数据库产品分布式数据仓库6.一个新奇的东西数据库中间件产品最新版本是1.6,长期计划是2.01。完全实现分布式事务,全面支持分布式事务。2、通过Mycatweb(eye)完成可视化配置、智能监控、自动化运维。3、通过mysql本地节点彻底解决数据扩容难,实现自动扩容机制,解决扩容难问题。4.支持基于zookeeper的主从切换和Mycat集群管理。5、使用MycatBalance替代第三方Haproxy、LVS等第三方高可用,全面兼容Mycat集群节点的动态on-offline。6.接入Spark等第三方工具,解决业务场景的数据分析和大数据聚合。7、通过Mycat智能优化,分析分片热点,为数据分片提供合理分片建议、索引建议、实时业务建议。总结Mycat是一款数据库中间件,支持各种常规的MySQL、Oracle、DB2、SQLServer、PostgreSQL,支持分库分表等分布式业务架构,让前端开发近乎透明。简单初始部署本例中,我们将通过mycat中间件在同一主机下初步拥有三个子数据库(mycat-db1、mycat-db2、mycat-db3),前端连接mycat准备运行。Mysql3。mycat1.6win源码JDK安装#wgethttp://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-windows-x64.exe一路next安装#配置JDK环境JAVA_HOME:C:\ProgramFiles\Java\jdk1.8.0_162CLASSPATH:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;PATH:;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;#DEBUGjava-versionmysql安装这部分就不说了。我安装的mysql5.6版本初始化了三个子库#这个操作是在本机的mysql上进行的(没有再mycat)#mysql-uroot-pCREATEDATABASEIFNOTEXISTSmycat-db1DEFAULTCHARSETutf8mb4COLLATEutf8mb4_general_ci;CREATEDATABASEIFNOTEXISTSmycat-db2DEFAULTCHARSETutf8mb4COLLATEutf8mb4_general_ci;CREATEDATABASEIFNOTEXISTSmycat-db3DEFAULTCHARSETutf8mb4COLLATEutf8mb4_general_ci;#三个分库各建一张表travelrecordCREATETABLE`travelrecord`(`id`int(10)unsignedNOTNULLAUTO_INCREMENT,`name`varchar(22)NOTNULLDEFAULT'',`time`int(10)unsignedNOTNULLDEFAULT'0',PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=1DEFAULTCHARSET=utf8mb4;#SimulationdataINSERTINTO`mycat-db1`.`travelrecord`(`name`,`time`)VALUES('qkl','0');INSERTINTO`mycat-db1`.`travelrecord`(`name`,`time`)VALUES('andy','0');INSERTINTO`mycat-db2`.`travelrecord`(`name`,`time`)VALUES('zgq','0');INSERTINTO`mycat-db3`.`travelrecord`(`name`,`time`)VALUES('pcb','0');mycatconf/server.xml配置0020011m1k0384mtrue123456TESTDBuserTESTDBtruemycatconf/schema.xml配置selectuser()启动bin/startup_nowrap。bat#启动成功最后显示#MyCATServerstartupsuccessful.seelogsinlogs/mycat.log客户端测试客户端连接管理我这边是通过navicat连接的#mysql-uroot-p123456-p9066连接账号密码:root/123456->server.xml配置可以看@@help;show@@sysparam;客户端通过navicat连接我#mysql-uroot-p123456-p8066连接账号密码:root/123456->server.xml配置可用操作使用TESTDB;#selectselect*fromtravelrecord;#output:+----+-----+------+|id|name|time|+----+------+------+|1|qkl|0||2|andy|0||1|pcb|0||1|zgq|0|+----+------+------+4罗wsinset#updateupdatetravelrecordsetname='andy2'whereid=2;#insert插入到travelrecordcord(name,time)values('tony',0);#Error#[Err]1064-插入sql错误(分片列:未提供ID,INSERTINTOtravelrecord(name,time)VALUES('test',0)综上所述,我们使用mycat做了一个单点mysql多点数据库下支持简单查询的实践,可以正常查询,但是插入的时候遇到问题继续阅读:mycat实践二:全局序号

最新推荐
猜你喜欢