Mycat 安装配置
创始人
2024-03-20 01:34:19
0

参考:https://www.cnblogs.com/binghe001/p/13959992.html

介绍

Mycat支持水平分片、垂直分片。

  • 水平分片 :将一个表数据分隔到多个节点上,以行数据为基本单元。
  • 垂直分片:一个数据的多个表分别分布到不同节点。如数据库A的a,b,c表分别在节点A、B、C上。

核心概念

  • Schema:称逻辑库,代表数据库实例的抽象。
  • Table:表,代表了某张表。这张表跟一个或多个DataNode依赖。
  • DataNode:代表了一个分片节点,它是存放表的物理节点。通过DataHost来配置具体的地址信息。
    • DataHost:定义具体的物理库的访问地址、账号密码,同时指定读、写库。

在schema.xml文件我们可以清楚的认识这些概念。

下载

根据服务器情况下载对应的版本。
https://github.com/MyCATApache/Mycat-download/tree/master/1.6-RELEASE

# 解压
tar -xvf xxx# 解压结果
root@ubuntu:/home/liangshijie/mycat# ls
bin  catlet  conf  lib  logs  version.txt# 配置环境变量
vim /etc/profile
# 追加:
export PATH=/home/liangshijie/mycat/bin:${PATH}
# 刷新环境变量
source /etc/profile

配置

基本情况

环境:ubuntu18、使用docker启动;
数据库:study;
数据表:user;
mysql5.7主从集群:

节点地址
192.168.204.139
192.168.204.138
192.168.204.140

配置文件

# 进入mycat 的conf目录
cd /home/liangshijie/mycat/conf
# 修改
vim server.xml# 将schemas改为study。
# 在这里可以mycat客户端登录密码。
# root账户默认读写
# user账户是只读123456study
userstudytrue

# 修改物理节点相关配置
vim schema.xml
# 先修改schema的name为我们的数据库study
# 修改table标签,表为user,使用dn1节点
# 根据集群修改dataHost

 select user()
 

启动命令

mycat start | stop | restart | status

链接客户端

服务器开放端口8066。
使用可视化工具链接。账户密码:root\123456。

测试

插入或查询数据。
查看当前server_id: SELECT @@server_id;

整合Springboot

跟Springboot整合只需修改mysql的数据源配置。


spring:datasource:username: rootpassword: 123456type: com.alibaba.druid.pool.DruidDataSourcedriver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://192.168.204.142:8066/study?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true
server:port: 8062

4.0.0org.springframework.bootspring-boot-starter-parent2.1.6.RELEASE cn.lsjread-write-separation0.0.1-SNAPSHOTread-write-separationDemo project for Spring Boot8org.springframework.bootspring-boot-starter-webcom.baomidoumybatis-plus-boot-starter3.5.1org.springframework.bootspring-boot-starter-jdbccom.alibabadruid1.1.22mysqlmysql-connector-java5.1.6org.projectlomboklomboktrueorg.springframework.bootspring-boot-maven-pluginorg.projectlomboklombok
@SpringBootApplication
@MapperScan("cn.lsj.readwriteseparation.mapper")
public class ReadWriteSeparationApplication {public static void main(String[] args) {SpringApplication.run(ReadWriteSeparationApplication.class, args);}}
@RequestMapping("test")
@AllArgsConstructor
@RestController
public class TestController {private final UserService userService;@GetMapping("read")public User read() {return userService.getById(1);}@PostMapping("write")public String write(@RequestBody User user) {userService.saveOrUpdate(user);return "成功";}
}
@Data
public class User {private int id;private String username;
}public interface UserMapper extends BaseMapper {
}public interface UserService extends IService {
}@Service
public class UserServiceImpl  extends ServiceImpl implements UserService {
}

相关内容

热门资讯

汽车油箱结构是什么(汽车油箱结... 本篇文章极速百科给大家谈谈汽车油箱结构是什么,以及汽车油箱结构原理图解对应的知识点,希望对各位有所帮...
美国2年期国债收益率上涨15个... 原标题:美国2年期国债收益率上涨15个基点 美国2年期国债收益率上涨15个基...
嵌入式 ADC使用手册完整版 ... 嵌入式 ADC使用手册完整版 (188977万字)💜&#...
重大消息战皇大厅开挂是真的吗... 您好:战皇大厅这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游戏...
盘点十款牵手跑胡子为什么一直... 您好:牵手跑胡子这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游...
senator香烟多少一盒(s... 今天给各位分享senator香烟多少一盒的知识,其中也会对sevebstars香烟进行解释,如果能碰...
终于懂了新荣耀斗牛真的有挂吗... 您好:新荣耀斗牛这款游戏可以开挂,确实是有挂的,需要了解加客服微信8435338】很多玩家在这款游戏...
盘点十款明星麻将到底有没有挂... 您好:明星麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【5848499】很多玩家在这款游戏...
总结文章“新道游棋牌有透视挂吗... 您好:新道游棋牌这款游戏可以开挂,确实是有挂的,需要了解加客服微信【7682267】很多玩家在这款游...
终于懂了手机麻将到底有没有挂... 您好:手机麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游戏...