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. VSIX 插件右键菜单(2)

    编译项目然后发布 // 获取当前右击的活动项目 EnvDTE.Project activeProj = ProjectHelpers.GetActiveProject(); // 获取 编译选项 Re ...

  2. POJ2411 铺地砖 Mondriaan's Dream

    Mondriaan's Dream Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 15962   Accepted: 923 ...

  3. LVS-Keepalived高可用集群(DR)

    LVS-DR+Keepalived高可用集群 -------client------------------主LVS--------------------从LVS------------------ ...

  4. 构建SFTP服务

    ---------------增加sftp-----------------查看openssh的版本# ssh -V使用ssh -V 命令来查看openssh的版本,版本必须大于4.8p1,低于的这个 ...

  5. Linux下搜狗输入法和快捷键Ctrl+Space冲突的解决

    配置快捷键(不是搜狗的设置) 把搜狗的启动快捷键给删了(如果有两个键盘[英+中],你按Shift就可以切换了,完全没必要占着茅坑) 其他快捷键冲突在键盘里面设置 over

  6. java 字符与ASCII码互转

    字符转对应ASCII码 // 方法一:将char强制转换为byte char ch = 'A'; byte byteAscii = (byte) ch; System.out.println(byte ...

  7. iview tree 获取选中子节点的整条数据链

    这样子获取到数据是,checked等于true的,获取不到他的父级,父级的父级 解决办法代码如下: //需要有一个唯一ID //==================================== ...

  8. 洛谷P1041 传染病控制

    解:搜索...... 我们可以每次选择分支少的搜索,或者说,贪心的搜索当前更优的决策. 每一层把能剪的点搞出来,按照度数/SIZ排序,然后依次搜索.加个最优化剪枝就完事了. #include < ...

  9. T4模版 mysql

    MysqlDbhelper.ttinclude <#@ assembly name="System.Core"#> <#@ assembly name=" ...

  10. 斯坦福大学公开课机器学习:advice for applying machine learning | diagnosing bias vs. variance(机器学习:诊断偏差和方差问题)

    当我们运行一个学习算法时,如果这个算法的表现不理想,那么有两种原因导致:要么偏差比较大.要么方差比较大.换句话说,要么是欠拟合.要么是过拟合.那么这两种情况,哪个和偏差有关.哪个和方差有关,或者是不是 ...