mycat2

一、下载与安装

概要说明: 本次测试使用两个mysql数据库 和 一个 mycat2
mysql的安装下载

mycat2安装的下载:
链接: https://pan.baidu.com/s/1YsS50KKXkE6lzbuOgSu8mA?pwd=3hgq 提取码: 3hgq

二、安装方式

解压后,将mycat2-1.21-release-jar-with-dependencies.jar 文件复制到 mycat 目录的lib目录下。

在这里插入图片描述
安装:进入mycat2的bin目录(D:\Program Files\mycat2\mycat2\bin)

>>mycat.bat install //安装服务
wrapper  | Mycat-server installed.
>>mycat.bat start  //启动服务

三、文件配置

编辑配置文件,配置数据库链接:
mycat2\conf\datasources\prototypeDs.datasource.json

{
	"dbType":"mysql",
	"idleTimeout":60000,
	"initSqls":[],
	"initSqlsGetConnection":true,
	"instanceType":"READ_WRITE",
	"maxCon":1000,
	"maxConnectTimeout":3000,
	"maxRetryCount":5,
	"minCon":1,
	"name":"prototypeDs",
	"password":"123qwe,.",
	"type":"JDBC",
	"url":"jdbc:mysql://localhost:3306/mysql?useUnicode=true&serverTimezone=Asia/Shanghai&characterEncoding=UTF-8",
	"user":"root",
	"weight":0
}

注意:url 是链接mysql的链接地址,如果当前的 user 账号,没有权限访问 mysql 数据库,能会导致链接失败:如果链接失败,去查看 mycat2的日志文件:
D:\Program Files\mycat2\mycat2\logs

编辑mycat的登录账号:
D:\Program Files\mycat2\mycat2\conf\users

{
	"dialect":"mysql",
	"ip":null,
	"password":"123456",
	"transactionType":"xa",
	"username":"root"  
}

四、启动mycat2

完成后:启动mycat2 服务:进入bin目录 cmd 输入如下命令。

mycat start

五、实践效果。

项目启动后,打开navicat工具。分表链接 mycat2 服务和 mysql
链接 mycat: 账号就是刚才 users 目录配置的账号密码。
链接 mysql数据库:prototypeDs.datasource 刚才配置的数据。

对mycat2 的所有操作都会同步到 mysql。
对mysql 的操作不会同步到 mycat2。

常见错误:

1129 - Host '192.168.227.147' is blocked because of many connection errors;unblock with 'mysqladmin flush-hosts
问题原因:链接次数过多,导致。
解决办法:重启一下mysql就好。
2059 - Authentication plugin 'caching_sha2_password' cannot be loaded:
问题原因: 你的navcat或者链接客户端不支持 'caching_sha2_password'插件  
解决方案: 方案一 修改mysql密码验证方式为老版本的 mysql_native_password 方案二 给 navicat 安装 caching_sha2_password插件。
方案一:ALTER USER 'username'@'%' IDENTIFIED WITH mysql_native_password By 'password';   --冒号部分替换成自己的参数
如果报错:Plugin 'mysql_native_password' is not loaded
就需要开启mysql_native_password 到:C:\ProgramData\MySQL\MySQL Server 8.4\mysql.ini 添加 mysql_native_password=ON

在这里插入图片描述
然后重启mysql,就可以修改了。

1、修改密码校验方式: 如果你的root的host字段不是% 可能是localhost 可以在mysql.user表中修改localhost 为 %

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password By '123123';

2、在mysql中创建一个mycat专用的账号"mycat" 并添加权限

create USER 'mycat'@'%' IDENTIFIED BY '123123'
-- 给mycat账户添加权限
GRANT XA_RECOVER_ADMIN ON *.* TO 'root'@'%';
-- 视情况给mycat赋予权限:
GRANT ALL PRIVILEGES ON *.* TO 'mycat'@'%';
flush privileges
它是一个开源的分布式数据库系统,是一个实现了 MySQL 协议的的 Server,前端用户可以把它看作是一个数据库代理,用 MySQL 客户端工具和命令行访问,而其后端可以用 MySQL 原生(Native)协议与多个 MySQL 服务器通信,也可以用 JDBC 协议与大多数主流数据库服务器通信, 其核心功能是分表分库,即将一个大表水平分割为 N 个小表,存储在后端 MySQL 服务器里或者其他数据库里。 Mycat 发展到目前的版本,已经不是一个单纯的 MySQL 代理了,它的后端可以支持 MySQL、SQL Server、 Oracle、DB2、PostgreSQL 等主流数据库,也支持 MongoDB 这种新型 NoSQL 方式的存储,未来还会支持更 多类型的存储。而在最终用户看来,无论是那种存储方式,在 Mycat 里,都是一个传统的数据库表,支持标准的 SQL 语句进行数据的操作,这样一来,对前端业务系统来说,可以大幅降低开发难度,提升开发速度,在测试阶 段,可以将一个表定义为任何一种 Mycat 支持的存储方式,比如 MySQL 的 MyASIM 表、内存表、或者 MongoDB、LevelDB 以及号称是世界上最快的内存数据库 MemSQL 上。试想一下,用户表存放在 MemSQL 上, 32 大量读频率远超过写频率的数据如订单的快照数据存放于 InnoDB 中,一些日志数据存放于 MongoDB 中,而且 还能把 Oracle 的表跟 MySQL 的表做关联查询,你是否有一种不能呼吸的感觉?而未来,还能通过 Mycat 自动 将一些计算分析后的数据灌入到 Hadoop 中,并能用 Mycat+Storm/Spark Stream 引擎做大规模数据分析,看 到这里,你大概明白了,Mycat 是什么?Mycat 就是 BigSQL,Big Data On SQL Database。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值