栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Java

Mycat mysql数据库读写分离

Java 更新时间:发布时间: 百科书网 趣学号
Mycat mysql数据库读写分离

Mycat 基本概念

文章目录
  • Mycat mysql数据库读写分离
  • Mycat 介绍
  • 一、安装


Mycat 介绍

提示:Mycat 官方 http://www.mycat.io/

Mycat 是一个开源的分布式数据库系统,是一个实现了 MySQL 协议的 Proxy Server,前端客户端可以把它 看作是一个 DB Proxy,用应用程序接口对其进行访问,其后端可以用 MySQL 原生协议与多个 MySQL 服 务器通信,也可以用 JDBC 协议与大多数主流数据服务器通信,其核心功能是分库分表,即将一个大表水 平分割为 N 个小表,存储在后端 MySQL 服务器上或其它数据库里,对数据进行分片处理后,从原有的一 个库,被切分为多个分片数据库,所有的分片数据库集群架构组成了一个完整的数据库存储系统。

Mycat使用mysql的通讯协议模拟成一个mysql服务器,并建立了完整的Schema(数据库),Table(数 据表),User(用户)的逻辑模型,并将这套逻辑模型映射到后端的存储节点上的真实物理库中,这样一 来,所有能使用MySQL客户端以及编程语言都能将Mycat当成是MySQLserver来使用。。


一、安装

关闭 防火墙

systemctl stop firewalld 
systemctl disable firewalld

Mycat下载包,提前安装 java jdk:

查看java环境是否安装好!
	java -version
wget http://dl.mycat.org.cn/1.6.7.6/20220518163531/Mycat-server-1.6.7.6-release-20220518222606-linux.tar.gz
1.解压mycat到/opt
tar zxf Mycat-server-1.6.7.6-release-20220518222606-linux.tar.gz  -C /opt/

设置环境变量
vim /etc/profile

添加环境变量:
export MYCAT_HOME=/opt/mycat
export PATH=$PATH:$MYCAT_HOME/bin

刷新环境变量:
source /etc/profile


修改配置文件:

vim  /usr/mycat/conf/server.xml          //用户账户与授权信息

虚拟用户 admin 密码 Abc123456 有权去使用 test逻辑库(必须存在)


然后注释掉 下面的 user

vim  /usr/mycat/conf/schema.xml

来到第6行,在这里输入27dd,删除27行。因为不需要进行分片等操作所以删除。

0= 不开启读写分离
1=保留一个写节点
2=所有写节点都要额外去承担读请求
3=读就读写就是写

注意 如果是分片! 复制全部 如果没有分片 去掉红色的
这个代码 不能调颜色,我截屏你看清楚哦





	
	
	

	
		select user()

		
		
		
		

		
                
                
		
	
	
                select user()

                
                
                
                

                
                
                
                
        

 

然后 修改 rule.xml 文件
如果是阿里云 需要开放 8066和9066端口:

关闭SeLinux不然启动失败

配置权限

启动Mycat服务:

mycat start	
或者

客户端登陆连接Mycat的8066端口实现读写分离

mysql -h192.168.10.131 -uadmin -pAbc_123456  -P8066

现在在Mycat上再打开一个终端连接9066端口,来验证读写分离
客户端会想mycat中tb1表分别插入数据和select数据,看写是否在master,读是否在slave上。
Mycat:

mysql -h192.168.10.131 -uadmin -pAbc_123456  -P9066

执行以下命令:

show @@datasource;

8066连接端口, 9066管理端口
主要是看:READ_LOAD(读负荷)与WRITE_LOAD(写负荷)

如果读写分离成功的话,写将会在master的写负荷上+1,读会再从的读负荷上+1
客户端插入和读取数据:

再Mycat的管理端口查看是否+1

ok 到这里就完成了

转载请注明:文章转载自 www.051e.com
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号