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

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

一:读写分离的思路

1.原理:

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

在Linux系统上使用Mycat实现读写分离,基于MariaDB(Mysql)_第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  命令安装

在Linux系统上使用Mycat实现读写分离,基于MariaDB(Mysql)_第2张图片

出现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/

在Linux系统上使用Mycat实现读写分离,基于MariaDB(Mysql)_第3张图片

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  修改

在Linux系统上使用Mycat实现读写分离,基于MariaDB(Mysql)_第4张图片

通过  :wq!命令保存

9.刷新环境变量文件

通过  source /etc/profile  命令

10.切换mycat用户

命令:su mycat

11.切换目录

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

12.启动mycat

命令:./mycat start

在Linux系统上使用Mycat实现读写分离,基于MariaDB(Mysql)_第5张图片

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

 

三:配置Mycat的读写分离

1.Mycat的目录结构:

根目录 :

在Linux系统上使用Mycat实现读写分离,基于MariaDB(Mysql)_第6张图片

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

在Linux系统上使用Mycat实现读写分离,基于MariaDB(Mysql)_第7张图片

2.配置读写分离信息

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

在Linux系统上使用Mycat实现读写分离,基于MariaDB(Mysql)_第8张图片

在Linux系统上使用Mycat实现读写分离,基于MariaDB(Mysql)_第9张图片

 

 

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

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

在Linux系统上使用Mycat实现读写分离,基于MariaDB(Mysql)_第10张图片

在Linux系统上使用Mycat实现读写分离,基于MariaDB(Mysql)_第11张图片

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

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

重启 ./mycat restart

在Linux系统上使用Mycat实现读写分离,基于MariaDB(Mysql)_第12张图片

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

完成了!

你可能感兴趣的:(各种集群部署)