目前MyCat配置Mysql 读写分离的文章虽然很多,但是看起来比较杂乱,造成很多困扰,所以自己根据实践并采用新的Mycat 版本将搭建步骤自始至终重写一遍。
在根据本文档操作前,已假设服务器的环境已经配置了Mysql 的 主从复制模式,若没有配置请参考以下文章
https://www.cnblogs.com/beamzhang/p/5454047.html
1.环境介绍
操作系统: CentOS 7.5
数据库:MySQL 5.7.23
openjdk version "1.8.0_131"
mycat:1.6.6.1
服务器:
10.138.41.193(Mysql 主)、 10.138.41.234(Mysql 从)
2.Mycat下载与上传
- 下载
进入网址 http://www.mycat.io/,下载Mycat 最新版
因为服务器版本是linux 所以选用红色框标记的版本。
图片1.png
图片2.png
- 上传与解压
- 将下载下来的mycat上传到linux指定目录,这边我放在了/software目录下面
- 执行如下命令,解压并移动到/usr/local 目录下面
解压命令如下,解压后会在当前目录下生成mycat 目录文件夹
tar -xvzf Mycat-server-1.6.6.1-release-20181031195535-linux.tar.gz
移动命令:
mv mycat /usr/local/
3.安装JDK与配置环境变量
安装JDK的命令这边不做赘述,只介绍配置MyCAT的环境变量
执行命令如下:vi /etc/profile
添加如下内容:
export MYCAT_HOME=/usr/local/mycat
并在文件末尾加上如下配置:
export PATH=$MYCAT_HOME/bin:$PATH
如图:
图片.png
添加完成后保存并退出
执行如下命令使配置文件立马生效
source /etc/profile
4.修改配置文件server.xml 和scheme.xml
- 修改scheme.xml
默认的scheme.xml 带有很多演示用的配置,这里我们读写分离大部分不需要!精简后的配置如下:
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
<!-- 定义虚拟数据库名称 -->
<schema name="mycat_mdr" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1" >
<!-- 这里配置分库分表,因只做读写分离所以这里暂不配置 -->
</schema>
<dataNode name="dn1" dataHost="localhost" database="mdr" />
<!-- 上述这里三个参数分别是定义dataNode的别名、数据库的IP或局域网服务器的别名在hosts中配置、数据库名 -->
<!-- 将balance设置为3表示开启读写分离 -->
<dataHost name="localhost" maxCon="1000" minCon="10" balance="3"
writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<!-- 定时执行SQL保持心跳 -->
<heartbeat>select user()</heartbeat>
<!-- 添加写入库配置 -->
<writeHost host="hostM1" url="localhost:3306" user="mdr"
password="mdr">
<!-- 添加只读库配置-->
<readHost host="hostS1" url="10.138.41.234:3306" user="mdr" password="mdr" />
</writeHost>
</dataHost>
</mycat:schema>
- 修改server.xml
server.xml主要配置两个用户,将鼠标移至文件末尾处,配置如下:其中schemas指向schema.xml中配置的名称!
图片.png
5.启动mycat
因为前期配置了mycat的环境变量,所以启动命令和停止命令可在任何路径下执行
- 启动命令
mycat start - 停止命令
mycat stop
6.访问验证
经过前面的配置已经产生了两个用户 mdr 和mdr_read 密码与用户名一致,下面可以用navicat等mysql客户端进行验证配置结果,mycat端口号为8066,点击:测试连接,若出现如图情况,表示mycat配置完成。
图片.png
注意:若连接失败,表示mycat配置存在问题,需要查看日志解决,日志目录为logs/wrapper.log,解决后重新验证
7.项目上使用
如图:
图片.png

图片.png
图片.png








网友评论