前提: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. Django——自定义分页(可调用)

    1.view from django.shortcuts import render,HttpResponse # Create your views here. from app01.models ...

  2. html5 说明

    # 客户端储存历程 远古时期 cookies的用法和缺陷 userdata   HTML5时代 localstorage application cache 离线缓存 indexedeDB 客户端数据 ...

  3. 3.30课·········Marquee标签

    页面的自动滚动效果,可由javascript来实现, 但是有一个html标签 - <marquee></marquee>可以实现多种滚动效果,无需js控制. 使用marquee ...

  4. swift ! 和 ? 的学习

    刚开始学 这两个符号 不确定到底是否是可以互相替代 用的都混淆了 今天好好做个总结 如果声明一个变量 如下 var  name:String?  //只声明 没做初始化赋值 说明 当前name 是 n ...

  5. Data Structure Stack: Infix to Postfix

    http://geeksquiz.com/stack-set-2-infix-to-postfix/ #include <iostream> #include <vector> ...

  6. linux 资源管理

    1. 查看内存信息  free [root@rhel6 script]# free total used free shared buffers cached Mem: -/+ buffers/cac ...

  7. delphi函数返回多个值的应用

    方法1: function test(var a,b,c:integer):integer; begin end; 方法2: type info = record name:string; age : ...

  8. HDU 1800 Flying to the Mars 字典树,STL中的map ,哈希树

    http://acm.hdu.edu.cn/showproblem.php?pid=1800 字典树 #include<iostream> #include<string.h> ...

  9. 本地建立SVN服务器

    想在自己电脑上搭建SVN服务器,于是有以下步骤. 首先明确SVN服务包括服务器和客户端,平时听到的TortoiseSVN就是一个客户端. 首先下载两个软件,服务器端我使用的是VisualSVN,版本是 ...

  10. SrpingCloud 之SrpingCloud config分布式配置中心实时刷新

    默认情况下是不能及时获取变更的配置文件信息 Spring Cloud分布式配置中心可以采用手动或者自动刷新 1.手动需要人工调用接口   监控中心 2.消息总线实时通知  springbus 动态刷新 ...