在Linux系统上使用Mycat实现读写分离,基于MariaDB(Mysql)

接上篇博客:https://blog.csdn.net/SpringCYB/article/details/90205352

一:读写分离的思路

1.原理:

顾名思义,读写分离基本的原理是让主数据库处理事务性增、改、删操作,而从数据库处理查询操作。数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库。 

è¿éåå¾çæè¿°

2.实现方式

实现方式有很多,但是不外乎分为内部配置和使用中间件,下面列举几个常用的方法: 
1.配置多个数据源,根据业务需求访问不同的数据,指定对应的策略:增加,删除,修改操作访问对应数据,查询访问对应数据,不同数据库做好的数据一致性的处理。由于此方法相对易懂,简单,不做过多介绍。 
2. 动态切换数据源,根据配置的文件,业务动态切换访问的数据库:此方案通过Spring的AOP,AspactJ来实现动态织入,通过编程继承实现Spring中的AbstractRoutingDataSource,来实现数据库访问的动态切换,不仅可以方便扩展,不影响现有程序,而且对于此功能的增删也比较容易。 
3. 通过mycat来实现读写分离:使用mycat提供的读写分离功能,mycat连接多个数据库,数据源只需要连接mycat,对于开发人员而言他还是连接了一个数据库(实际是mysql的mycat中间件),而且也不需要根据不同业务来选择不同的库,这样就不会有多余的代码产生。

 

二:Mycat安装和配置

1.在master主服务下安装Java环境(mycat基于java)

通过  yum install java-1.8.0-openjdk.x86_64  命令安装

出现ok!则安装成功,中途需要点y的点y就好

2.下载mycat

通过  wget http://dl.mycat.io/1.6.5/Mycat-server-1.6.5-release-20180122220033-linux.tar.gz  命令联网下载

3.解压 Mycat

通过  tar -zxvf Mycat-server-1.6.5-release-20180122220033-linux.tar.gz  命令解压缩

4.剪切到/usr/local下

mv mycat /usr/local/

5.创建专门运行mycat账号

通过  adduser mycat  命令

6.切换到mycat文件夹路径下

通过  cd /usr/local  命令

7.将文件权限赋给mycat账号

通过  chown mycat:mycat -R mycat  命令

8.配置环境变量并添加

配置环境变量并添加 :export JAVA_HOME=/usr export MYCAT_HOME=/usr/local/mycat(如下图所示)

通过  vim /etc/profile  修改

通过  :wq!命令保存

9.刷新环境变量文件

通过  source /etc/profile  命令

10.切换mycat用户

命令:su mycat

11.切换目录

命令:cd /usr/local/mycat/bin/

12.启动mycat

命令:./mycat start

出现这句话则表示已经启动了,意思是,mycat已经再启动中。

 

三:配置Mycat的读写分离

1.Mycat的目录结构:

根目录 :

进到conf文件夹里面查看配置文件: 

2.配置读写分离信息

进入配置文件 vi /usr/local/mycat/conf/schema.xml

 

 

4.配置Mycat的连接信息(账号密码)

进入配置文件 vi /usr/local/mycat/conf/server.xml

Mycat的配置到这里就算完成了,现在我们重启Mycat并连接测试

切换路径 cd /usr/local/mycat/bin

重启 ./mycat restart

项目开发中,我们只需要将mysql的连接地址换成mycat的地址即可,无需任何其余操作,更不会造成多余的业务逻辑,好了,mycat的简单配置和使用就介绍到这里了!

完成了!

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

听风动

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值