前提: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. xutils3文件上传、下载、get、post请求

    @ContentView(R.layout.activity_xutils3_net) public class XUtils3NetActivity extends Activity { @View ...

  2. php类和对象(二)

    面向对象第三大特性:多态 概念: 当父类引用指向子类实例的时候,由于子类对父类函数进行了重写,导致我们在使用该引用取调用相应方法时表现出的不同 条件: 1.必须有继承 2.子类必须对父类的方法进行重写 ...

  3. ELKK 日志处理

    http://blog.csdn.net/u010022051/article/details/54342357 在ELKK的架构中,各个框架的角色分工如下: ElasticSearch1.7.2:数 ...

  4. 单链表(C语言实现)

    链表结构: SList.h //-------------------------------------------------------------------------- /* **功能:应 ...

  5. Android系统篇之—-编写系统服务并且将其编译到系统源码中【转】

    本文转载自:http://www.wjdiankong.cn/android%E7%B3%BB%E7%BB%9F%E7%AF%87%E4%B9%8B-%E7%BC%96%E5%86%99%E7%B3% ...

  6. 基于msm8909高通平台Android驱动开发之hello程序

    本文转载自:http://www.itwendao.com/article/detail/227839.html Android驱动开发之Hello实例:   驱动部分 modified:   ker ...

  7. C++ Const 使用总结,代码实例亲测

    1. 修饰普通变量 修饰变量语法 const TYPE value  <==> TYPE const value 两者等价, 变量不可修改,无需说明. 2. 修饰指针 首先看下面一段 代码 ...

  8. codevs1217 借教室

    借教室(classroom.cpp/c/pas)[问题描述]在大学期间,经常需要租借教室.大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室.教室的大小功能不同,借教室人的身份不同,借教室 ...

  9. TCP和UDP?

    简单讲,TCP是打电话,UDP是发短信.

  10. IBM V3500存储恢复步骤实例(linux)

    本环境是一有台IBM3500存储,将存储挂载至linux的/data目录,模拟测试当主服务器挂了,将数据恢复到另一台服务器,存储有两个地址,我配置的是192.168.80.59是用于web管理,192 ...