前提:mycat安装前需先实现主从复制,主从复制不会的,请看 文章 。另外,配置前需关掉selinux。

一、此次测试环境总共有四台机:

mycat:          10.0.0.20
mysql_master: 10.0.0.21
mysql_slave: 10.0.0.22
测试机: 10.0.0.23

二、安装mycat前,需先安装jdk

  1、 安装jdk

    1)安装jdk

#下载jdk
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html #创建jdk保存目录
$ sudo mkdir -p /usr/lib/jvm #解压jdk
$ sudo tar -zxvf jdk-8u131-linux-x64.tar.gz -C /usr/lib/jvm

    2)设置jdk环境变量

添加环境变量
$ sudo vim /etc/profile 【 /etc/profile 】 export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_131
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATh=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH #使变量环境立刻生效
$ source /etc/profile

  2、安装mycat

#下载mycat
http://dl.mycat.io/1.6-RELEASE/ #解压mycat
$ sudo tar -zxvf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz -C /usr/local #设置mycat环境变量
$ sudo vim /etc/profile export MYCAT_HOME=/usr/local/mycat
export PATH=${MYCAT_HOME}/bin:$PATH #使环境变量立刻生效
source /etc/profile #启动mycat
$ mycat start

三、配置mycat,主要修改schema.xml和server.xml两个文件

  1、 修改schema.xml文件:

<!—此处的name为mysql对应的数据库,建议设置跟数据库一样的名称-->
<schema name="test001" checkSQLschema="false" sqlMaxLimit="100">
<!—此处的name为test001数据库的表格,命名与数据库的一致 -->
<table name="tb_test" dataNode="test001Node" />
</schema> <!-- 此处的name需与上面table中的dataNode一致,dataHost可自定义,下来用得着,database为mysql数据库 -->
<dataNode name="test001Node" dataHost="dtHost" database="test001" /> <!-- 此处的name需与dataNode中的dataHost一致,balance=1为读写分离,其它值默认 -->
<dataHost name="dtHost" maxCon="1000" minCon="10" balance="1"
writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100"> <!-- 此处默认 -->
<heartbeat>select user()</heartbeat>   <!-- 此处的url为主服务器的IP,端口默认,另外填写连接mysql的正确用户名和密码 -->
<writeHost host="hostM1" url="10.0.0.21:3306" user="root"password="redhat">   <!-- 此处的url为从服务器的IP,端口默认,另外填写连接mysql的正确用户名和密码 -->
<writeHost host="hostS1" url="10.0.0.22:3306" user="root"password="redhat" />

  2、 配置server.xml  

<!--  此处的root和123456为连接mycat的用户名与密码,test001为数据库,需与schema.xml中配置的数据库一致 -->
<user name="root">
<property name="password">123456</property>
<property name="schemas">test001</property>
</user>   <!-- 此处的信息基本同上,但user用户只有读的权限-->
<user name="user">
<property name="password">user</property>
<property name="schemas">test001</property>
<property name="readOnly">true</property>
</user>

四、测试mycat

  1、 在mysql主服务器添加数据库

#进入数据库
$ mysql -uroot -p #数据库操作
mysql> create database test001;
mysql> use test001;
mysql> create table tb_test(id int(3),name varchar(11));
mysql> insert into tb_test values(1,’Lining’);

  2、 进入mycat服务器,追踪mycat 日志。

$ sudo tail -f /usr/local/mycat/logs/mycat.log

  3、 在测试机操作。

# 在mycat服务器上登录远程数据库
$ mysql -h10.0.0.20 -uroot -p123456 -P8066 #数据库操作
mysql> user test001;
mysql> insert into tb_test values(2,‘Zhaoxiong’);

详情如下图

五、添加mycat的开机启动

#赋予rc.loca可执行权限
$ sudo chmod +x /etc/rc.d/rc.local #添加内容
$ sudo vim /etc/rc.d/rc.local /usr/local/mycat/bin/mycat start &

以上是读写分离的全部过程,只是皮毛而已,如何要深究,可以查看mycat官网的教程。

mycat的安装与配置的更多相关文章

  1. Mysql系列五:数据库分库分表中间件mycat的安装和mycat配置详解

    一.mycat的安装 环境准备:准备一台虚拟机192.168.152.128 1. 下载mycat cd /softwarewget http:-linux.tar.gz 2. 解压mycat tar ...

  2. Linux下MyCat和MyCat_web的安装和配置

    Linux下MyCat和MyCat_web的安装和配置 Mycat 是一个数据库分库分表中间件 Mycat web 可以对 Mycat进行监控,这里分享一下 Mycat web 的搭建过程 详细内容可 ...

  3. MyCat教程三:安装及配置介绍

    一.安装MyCat 1.安装准备环境 1.1 安装JDK   因为MyCat是java开发的,所以需要java虚拟机环境,在Linux节点中安装JDK是必须的. 1.2 放开相关端口   在主从节点上 ...

  4. mycat的安装及配置文件应用

    table:逻辑一 mycat的安装 1 基于jdk运行 2 获取安装包 3 解压 tar -xf Mycat***.tar.gz 4 测试运行 mycat的根目录中bin保存了mycat的核心命令文 ...

  5. mycat入门安装及demo实现

    下载: https://github.com/MyCATApache/Mycat-download 安装: 直接解压 运行命令: linux:    ./mycat start 启动   ./myca ...

  6. MyCat(1.2)Mycat的安装

    [0]基本环境 OS:CentOS7.5 Software envireonment:JDK1.7.0 Master Software:Mycat1.6.5 Linux Client:CRT 8.0 ...

  7. mycat的安装及使用 看这一篇就够了

    1.环境准备 ​ 本次使用的虚拟机环境是centos6.5 ​ 首先准备四台虚拟机,安装好mysql,方便后续做读写分离和主从复制. 192.168.85.111 node01 192.168.85. ...

  8. JDK安装与配置

    JDK安装与配置 一.下载 JDK是ORACLE提供免费下载使用的,官网地址:https://www.oracle.com/index.html 一般选择Java SE版本即可,企业版的选择Java ...

  9. Node.js 教程 01 - 简介、安装及配置

    系列目录: Node.js 教程 01 - 简介.安装及配置 Node.js 教程 02 - 经典的Hello World Node.js 教程 03 - 创建HTTP服务器 Node.js 教程 0 ...

随机推荐

  1. 中国移动OnetNet云平台 使用WIFI模块ESP8266 TCP非透传模式传输数据流步骤

    测试使用工具: WIFI模块型号:ESP8266 https://item.taobao.com/item.htm?spm=a1z10.1-c.w137712-175513579.2.btbD9X&a ...

  2. 牛客小白月赛1 B 简单题2 【数学】

    题目链接 https://www.nowcoder.com/acm/contest/85/B 思路 这个 也是 E AC代码 #include <cstdio> #include < ...

  3. 0428 正则表达式 re模块

    复习 异常处理try except 一定要在except之后写一些提示或者处理的内容 try: '''可能会出现异常的代码'''except ValueError: '''打印一些提示或者处理的内容' ...

  4. JavaScript日期选择控件Kalendae

    在线演示 本地下载

  5. CSS3图片悬停放大动画

    在线演示 本地下载

  6. 20165101 预备作业3 Linux安装及学习

    #Linux安装及命令入门 安装虚拟机 学习了娄老师的博客<基于VirtualBox虚拟机安装Ubuntu图文教程>,我下载了最新版的VirtualBox和16.04版的Ubuntu.根据 ...

  7. 95th percentile concentration

    很多网络流量监控软件都提供了一个95th的值,开始一直不太理解,终于在solarwinds官网找到答案. 95th百分点指的是所给数集中超过其95%的数.它是一个统计学上的概念.对于某个接口,准确统计 ...

  8. JDK8新特性:接口的静态方法和默认方法

    在jdk8之前,interface之中可以定义变量和方法,变量必须是public.static.final的,方法必须是public.abstract的.由于这些修饰符都是默认的,所以在JDK8之前, ...

  9. castle windsor学习-----Registering components by conventions

    注册多个组件 1.one-by-one注册组件可能是一项非常重复的工作,可以通过Classes或Types注册一组组件(你可以指定一些特定的特征) 三个步骤 注册多个类型通常采取以下结构 contai ...

  10. 内存表 ClientDataSet CreateDataSet

    unit Form_Main; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, F ...