首先在官网下载mycat,官网地址:http://mycat.org.cn/
下载地址:http://dl.mycat.org.cn/1.6.7.4/Mycat-server-1.6.7.4-release/
上传至centos7中。 解压
tar -zxvf Mycat-server-1.6.7.4-release-20200105164103-linux.tar.gzmycat软件目录构成:
conf 目录下存放配置文件,server.xml 是Mycat 服务器参数调整和用户授权的配置文 件,schema.xml 是逻辑库定义和表以及分片定义的配置文件,rule.xml 是分片规则的配置文件,分片规则的具体一些参数信息单独存放为文件,也在这个目录下,配置 文件修改,需要重启Mycat 或者通过9066 端口reload。
lib 目录下主要存放mycat 依赖的一些jar 文件。
尝试启动mycat服务
bin/mycat start查看是否启动成功 已经成功启动。
Balance参数设置:
1. balance=“0”, 所有读操作都发送到当前可用的writeHost上。
2. balance=“1”,所有读操作都随机发送到当前的writeHost对应的readHost和备用的writeHost
3. balance=“2”,所有读操作都随机的在writeHost、readhost上分发 4. balance=“3”,所有读请求随机的分发到wiriterHost 对应的readhost 执行
WriteType参数设置:
1. writeType=“0”, 所有写操作都发送到可用的writeHost上。
2. writeType=“1”,所有写操作都随机的发送到readHost。
3. writeType=“2”,所有写操作都随机的在writeHost、readhost分上发。
修改用户配置,name="schemas"和前面配置的schemas.xml中的name对应
<user name="root" defaultAccount="true"> <property name="password">123456</property> <property name="schemas">testdb</property> </user>这里的两个mysql服务我主动停止了主从复制,所以两个数据库中数据不一致。便于我们看到效果。 首先是主数据库(用于写): ip 192.168.130.128 database testdb table t_order
从数据库(用于读) ip 192.168.130.129 database testdb table t_order
到 conf/server.xml 中查看用户名和密码 mycat默认的服务端口为8066,管理端口为9066 连接成功,Mycat 对我们的应用来说,就是一个数据库! 查看表
可以看到读取到的是从数据库中的记录。 然后手动插入一条数据 查看主数据库,发现数据插入成功 查看从数据库,没有数据增加 查看mycat数据库,同样没有数据增加,因为是读取的从数据库的记录 这就实现了读写分离,当然,实际应用中我们需要开启主从复制哦。