1.准备工作

mycat依赖Java环境,所以必须安装jdk

yum install java-1.8.0-openjdk-devel.x86_64

配置JAVA_HOME环境变量

ls -lrt /etc/alternatives/java
#可以看到:/etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64/jre/bin/java vim /etc/profile
#添加

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64
 export JRE_HOME=${JAVA_HOME}/jre
 export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
 export PATH=${JAVA_HOME}/bin:$PATH

source /etc/profile

创建两个pxc集群,充当两个分片

创建数据表,用于保存切分数据,两个PXC集群都建立

CREATE TABLE t_user (
id INT ( 10 ) UNSIGNED NOT NULL,
username VARCHAR ( 200 ) NOT NULL,
passwords VARCHAR ( 2000 ) NOT NULL,
tel CHAR ( 11 ) NOT NULL,
locked TINYINT ( 1 ) UNSIGNED NOT NULL DEFAULT 0,
PRIMARY KEY ( id ),
KEY idx_username ( username ),
UNIQUE KEY unq_username ( username )
) ENGINE = INNODB
DEFAULT charset = utf8;

下载mycat压缩包

wget http://dl.mycat.io/1.6.5/Mycat-server-1.6.5-release-20180122220033-linux.tar.gz
解压到/usr/local/下即可

编辑mycat配置文件

文件               作用                                          修改内容
rule.xml 切分算法 修改mod-long分片数量为2
server.xml 虚拟mysql 修改用户名,密码和逻辑库
schema.xml 数据库连接,读写分离,负载均衡,数据表映射 定义连接,读写分离,负载均衡,数据表映射

vim server.xml

如下:

      #定义用户权限  
<user name="admin" defaultAccount="true">
<property name="password">Abc_123456</property>
<property name="schemas">test1</property> <!-- 表级 DML 权限设置 -->
<!--
<privileges check="false">
<schema name="TESTDB" dml="0110" >
<table name="tb01" dml="0000"></table>
<table name="tb02" dml="1111"></table>
</schema>
</privileges>
-->
</user>
#定义只读用户
<!--
<user name="user">
<property name="password">user</property>
<property name="schemas">TESTDB</property>
<property name="readOnly">true</property>
</user>
-->

vim schema.xml

vim rule.xml

开放防火墙端口,关闭selinux

端口          作用
8066 数据服务
9066 管理端口

启动和关闭mycat

启动:
chmod -R 777 /bin/*.sh
./bin/mycat start 关闭:
./bin/mycat stop
 

2.测试

登陆mycat:

mysql -uadmin -pAbc_123456 -h 127.0.0.1 -P8066

插入数据:

mysql> use test1;

mysql> insert into t_user(id,username,passwords,tel,locked) values(1,"jack","","",0);
Query OK, 1 row affected (0.11 sec) mysql> insert into t_user(id,username,passwords,tel,locked) values(2,"tom","","",1);
Query OK, 1 row affected (0.13 sec) mysql> select * from t_user;
+----+----------+-----------+-------------+--------+
| id | username | passwords | tel | locked |
+----+----------+-----------+-------------+--------+
| 2 | tom | 123456 | 13106061112 | 1 |
| 1 | jack | 123456 | 13106061111 | 0 |
+----+----------+-----------+-------------+--------+
2 rows in set (0.09 sec)

分别登陆两个pxc节点查看:

节点一:
mysql> select * from t_user;
+----+----------+-----------+-------------+--------+
| id | username | passwords | tel | locked |
+----+----------+-----------+-------------+--------+
| 1 | jack | 123456 | 13106061111 | 0 |
+----+----------+-----------+-------------+--------+ 节点二:
mysql> select * from t_user;
+----+----------+-----------+-------------+--------+
| id | username | passwords | tel | locked |
+----+----------+-----------+-------------+--------+
| 2 | tom | 123456 | 13106061112 | 1 |
+----+----------+-----------+-------------+--------+

3.集群方案(若用tpcc做压力测试,需修改配置文件设置pxc_strict_mode=DISABLED)

4.mycat部署的更多相关文章

  1. MyCAT部署及实现读写分离(转)

    MyCAT是mysql中间件,前身是阿里大名鼎鼎的Cobar,Cobar在开源了一段时间后,不了了之.于是MyCAT扛起了这面大旗,在大数据时代,其重要性愈发彰显.这篇文章主要是MyCAT的入门部署. ...

  2. MyCat部署运行(Windows环境)与使用步骤详解

        目录(?)[+] 1.MyCat概念 1.1 总体架构 MyCAT的架构如下图所示: MyCAT使用MySQL的通讯协议模拟成一个MySQL服务器,并建立了完整的Schema(数据库).Tab ...

  3. 2020-05-08:mycat部署数据库集群的时候 遇到了哪些坑

    福哥答案2020-05-08:答案仅供参考,来自群员 使用activity时,连接mycat设置进去的序列化的流程变量,反序列化会报错这个类型字段类型是blob类型,mycat对这种类型处理时有点问题

  4. 基于Mycat实现读写分离

    随着应用的访问量并发量的增加,应用读写分离是很有必要的.当然应用要实现读写分离,首先数据库层要先做到主从配置,本人前一篇文章介绍了mysql数据库的主从配置方式即:<mysql数据库主从配置&g ...

  5. mycat 单库多表实现水平分片

    环境 mycat : 192.168.126.128 root root mysql1: 192.168.126.129:3306 root lizhenghua mysql2: 192.168.12 ...

  6. 基于mycat高可用方案——数据库负载

    引言 传统企业级应用一般采取单台数据库,吞吐所有应用的读写,随着互联网的高速发展,以及微服务架构越来越普及,往往采用分库分表来支撑高速增长的大量业务数据吞吐.分库分表主要有两种方式:水平分表和垂直分库 ...

  7. mycat详细

    MyCAT的优势基于阿里开源的Cobar产品而研发,Cobar的稳定性.可靠性.优秀的架构和性能以及众多成熟的使用案例使得MYCAT一开始就拥有一个很好的起点,站在巨人的肩膀上,我们能看到更远.业界优 ...

  8. Mariadb 基于Mycat实现读写分离

    环境:Mariadb主:192.168.200.129 Mariadb从:192.168.200.114 Mycat    :192.168.200.112 (1)      安装jdk,先查看本机是 ...

  9. MySQL for OPS 10:MyCAT 分布式架构

    写在前面的话 在学习的索引的时候,有提到,当数据表数据达到 800W 的时候,索引的性能就开始逐步下降.对于一个公司而言,主要业务数据表达到 1000W 都很容易.同时这张表一般都是业务常用的表,操作 ...

随机推荐

  1. 【转】top命令输出解释以及load average 详解及排查思路

    https://blog.csdn.net/zhangchenglikecc/article/details/52103737 昨天nagios报警warning,没来得及留下报警截图,nagios值 ...

  2. 【php】php数组相关操作函数片段

    下面这些都是我在工作中用到的函数,现在整理下. 判断是否是一个数组 function _is_array($value){ if (is_array($value)) { return true; } ...

  3. hdu 4300 Clairewd’s message(扩展kmp)

    Problem Description Clairewd is a member of FBI. After several years concealing in BUPT, she interce ...

  4. logback 设置按天,文件切割大小,总共日志文件大小。

    设置按天,文件切割大小,总共日志文件大小. <?xml version="1.0" encoding="UTF-8"?> <configura ...

  5. Linux系统调用之内存管理

    brk 改变数据段空间的分配 sbrk 参见brk mlock 内存页面加锁 munlock 内存页面解锁 mlockall 调用进程所有内存页面加锁 munlockall 调用进程所有内存页面解锁 ...

  6. js数组歌

    判断是不是数组,isArray最靠谱. 按照条件来判断,every/some给答案 是否包含此元素,includes最快速. find/findIndex很相似,按条件给第一个值. indexOf/l ...

  7. POJ 3249 Test for Job (记忆化搜索)

    Test for Job Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 11830   Accepted: 2814 Des ...

  8. 给你的手机加上安全保障,请设置SIM卡PIN码

    [手机上了锁,为啥还丢钱?专家支招:设置SIM卡PIN码]智能手机一旦丢失,不仅会带来诸多不便,甚至还会造成个人隐私泄露及财产损失. 然而很多人认为,自己已经设置了手机屏锁.支付密码.指纹锁等防御措施 ...

  9. mysql 5.7安装准备

    在5.5之后的mysql安装中,需要使用cmake来指定安装参数,下面列出关于cmake的几个常用参数: CMAKE_INSTALL_PREFIX:指定MySQL程序的安装目录,默认/usr/loca ...

  10. Springboot -- 由于jar版本不匹配遇到的问题

    网上整合dubbo的例子很多,我这边今天整合了一个例子,但是发现启动dubbo service时候,提示log4j日志类无法找到,启动client的时候,注入的service为空,调试了半天,编码并无 ...