MyCat的安装

发布于:2022-12-13 ⋅ 阅读:(526) ⋅ 点赞:(0)

Mycat是一款基于阿里开源产品Cobar而研发的开源数据库分库分表中间件(基于Java语言开发)。官网所言:Mycat国内最活跃的、性能最好的开源数据库中间件!

  • 一个彻底开源的,面向企业应用开发的大数据库集群
  • 支持事务、ACID、可以替代MySQL的加强版数据库
  • 一个可以视为MySQL集群的企业级数据库,用来替代昂贵的Oracle集群
  • 一个融合内存缓存技术、NoSQL技术、HDFS大数据的新型SQL Server
  • 结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品
  • 一个新颖的数据库中间件产品

mysql集群搭建参考此文章:

mysql主从节点搭建_匿名热心市民的博客-CSDN博客https://blog.csdn.net/weixin_43766390/article/details/126920696?spm=1001.2014.3001.5501

第一步

将压缩包上传到Linux并且解压

这里用的是1.6.7.4稳定版 

解压命令

tar -zxvf Mycat-server-1.6.7.4-release-20200105164103-linux.tar.gz

解压后的目录

 

 第二步

修改配置文件

主要是修改如下3个配置文件

schema.xml:定义逻辑库,表、分片节点等内容

②rule.xml:定义分片规则

③server.xml:定义用户以及系统相关变量,如端口等

进入到mycat解压目录下的conf目录 

配置schema.xml文件

<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">

	<!-- 配置逻辑库   name表示逻辑库的名称,后期idea代码连接数据库要用得到   checkSQLschema:是否检查sql语法   sqlMaxLimit最大sql连接数  randomDataNode管理节点名称 -->
	<schema name="TESTDB" checkSQLschema="true" sqlMaxLimit="100" dataNode="dn1">

	</schema>
	<!-- dataNode定义数据节点标签 name节点名称    dataHost真实服务所在地址  database真实数据库名称-->
	<dataNode name="dn1" dataHost="localhost1" database="mytest" />
	
	<!-- 定义真实服务所在地址 name名字  maxCon最大连接数  minCon最小连接数  dbType数据库类型  dbDriver数据库驱动(我们连接数据库用的软件)   slaveThreshold从节点连接池个数   -->
	<dataHost name="localhost1" maxCon="1000" minCon="10" balance="0" writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
	<!-- 按照心跳机制来判断真实的数据库是否正常运行-->
		<heartbeat>select user()</heartbeat>
		<!-- 主节点为位置 host名字随意起  url地址 账号 密码  -->
		<writeHost host="hostM1" url="192.168.92.241:3306" user="root" password="123456">
		<!-- 从节点位置 -->
			<readHost host="hostS1" url="192.168.92.242:3306" user="root" password="123456"></readHost>
		</writeHost>
	</dataHost>

</mycat:schema>

 配置server.xml文件

注意:下面图少了标签,导致启动时报错

注意:下面图少了标签,导致启动时报错

注意:下面图少了标签,导致启动时报错

表头的标签不要删错 

 

 

验证数据库访问情况

Mycat 作为数据库中间件要和数据库部署在不同机器上,所以要验证远程访问情况。

mysql -udhapp -pxxxxxx -h 192.168.92.241 -P 3306

mysql -udhapp -pxxxxxx -h 192.168.92.242 -P 3306

#如远程访问报错,请建对应用户

grant all privileges on . to root@'%' identified by '123123'

启动程序

1、 控制台启动 :去 mycat解压目录下的bin 目录下执行 ./mycat console

2 、后台启动 :去 mycat解压目录下的bin 目录下执行 ./mycat start

为了能第一时间看到启动日志,方便定位问题,我们选择1控制台启动。

 启动时报错了:

Caused by: io.mycat.config.util.ConfigException: schema TESTDB didn't config tables,so you must set dataNode property!

 原因:

 启动:

登录数据窗口测试mycat配置是否成功

在打开一个虚拟机,

此登录方式用于通过 Mycat 查询数据,我们选择这种方式访问Mycat

mysql -umycat -p123456 -P 8066 -h 192.168.92.241

          

 

 8066是macat默认端口号,后边的ip地址是mycat所在的地址

建立一个spring工程进行测试

application配置文件配置连接Mysql

进行测试:

添加一条数据

 

 

修改schema.xml文件测试负载均衡

ctrl+c关掉MyCat

修改配置文件:

 启动mycat:

手动修改数据库方便查看效果:

 

进行查询测试: 

添加测试: