配置读写分离
我们前面已经搭建好MySQL主从同步的集群环境,现在结合mycat来配置读写分离的功能。
mycat根据我们的SQL语句自动去连接对应的MySQL的写节点和读节点,避免了我们在应用程序中自己去增加连接数据源的判断。
我们让M1和M2作为写入节点,S1和S2作为读取节点。这样所有的写操作都分发到M1或者M2上;所有的读操作都分发到S1或S2上。
准备配置文件
我们要使用容器启动部署mycat。
为了方便修改mycat的配置文件,我们把mycat的配置文件目录mycat/conf和日志文件目录mycat/logs都挂载到本地的~/dockermycatconf/mycat1/conf和~/dockermycatconf/mycat1/logs上。
这在本地修改完成配置文件后,把重启重新启动一下就可以验证我们的修改是否生效,这样很方便。
我们把安装当初构建mycat镜像的时候使用的mycat安装包解压一下,里面有初始化的conf目录,把那个conf目录下面的所有的配置文件都拷贝到本地的“~/dockermycatconf/mycat1/conf”目录下面去。这样我们基于这样的初始化配置文件,根据我们的实际需求去修改对应的配置文件,然后就可以启动mycat容器了。
配置server.xml
在server.xml中,我们需要配置两个地方,如下:
mycat的服务端口mycat的管理端口连接mycat的使用的用户名和密码useHandshakeV10参数的配置配置好的server.xml文件如下所示,这里的配合值保留最简配置,把安装包中默认的配置能删除的都删除了。目的只为了测试读写分离,为了避免出现其他异常问题。就使用最简单的配置内容。
?xmlversion=1.0encoding=UTF-8?!DOCTYPEmycat:serverSYSTEMserver.dtdmycat:serverxmlns:mycat=