mycat 实现读写分离

mycat 实现读写分离
配置mysql实现主从复制
安装jdk
安装mycat实现读写分离
tar zxf Mycat-server-1.6-RELEASE-20161028204710-sangnux.tar.gz -C /usr/local
添加环境变量
新建逻辑库,逻辑表;Mycat默认配置了逻辑库TESTDB,这里配置一个逻辑库USERDB

修改schema.xml新增逻辑库USERDB,修改内容如下:
新增逻辑表tb1;
配置逻辑库和物理库对应关系,
配置逻辑库和物理库对应关系,
配置逻辑库和物理库对应关系

创建物理库:在mysql里创建dn1,dn2,dn3对应的数据库:

修改server.xml设置用户对应的逻辑库,修改内容如下:
改成登录mysql的用户名
这里的用户名密码是要访问的mysql的用户名密码
改成辑库USERDB
辑库USERDB;权限改成1111           
表名不动;权限改成1111
表示具有增、删、改、查权限,0000表示没有权限

配置rule.xml文件
<property name="count">3</property> #这里修改成3,因为有三个数据库节点数量:dataNode
启动mycat:mycat start;查看mycat状态:mycat status;停止mycat:mycat stop
查看报错日志
cat /usr/local/mycat/logs/wrapper.log
查看端口:登录端口:8066;管理端口:9066
分片测试
连接mycat
mysql -h 192.168.0.94 -P 8066 -uroot -pjenkins@123 -DUSERDB
查看表会分配到哪个节点上
explain create table tb1(id int,name varchar(40),deptno int);
创建表
create table tb1(id int,name varchar(40),deptno int);
验证读写分离
登录管理端口 show @@datasource ;
发现READ_LOAD在hostS1为2, WRITE_LOAD在hostM1为2,说明读写分离已经实现

猜你喜欢

转载自www.cnblogs.com/effortsing/p/10405245.html