前提: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. 高性能javascript学习总结(3)--数据访问

    在 JavaScript 中,数据存储位置可以对代码整体性能产生重要影响.有四种数据访问类型:直接量,变量,数组项,对象成员.         直接量仅仅代表自己,而不存储于特定位置. JavaScr ...

  2. MOOC 数据结构 01-复杂度3 二分查找

    01-复杂度3 二分查找(20 分) 本题要求实现二分查找算法. 函数接口定义: Position BinarySearch( List L, ElementType X ); 其中List结构定义如 ...

  3. css属性background

    一.background-size 1.具体设定的px值,及北背景图片的具体宽高 2.设定的百分比,相对于容器的宽高 3.设定三个铺设类型: (1)cover: 以宽 / 高 为基本,尽可能的去铺满整 ...

  4. 一步一步带你分析 requirejs

    详细源代码一共就2000多行,来看我这篇分析的同学应该都下载下来了,好了,话不多说,开始: 代码的开头就出现3个全局变量: requirejs, require, define var require ...

  5. java深入探究04

    1.Http协议 tcp/ip关注的是客户端服务器之间数据是否传输成功 http协议:是在tcp/ip协议之间封装的一层协议关注的是传输格式是否规范 注意:系统自带的telent工具(远程访问工具)可 ...

  6. 爬虫第一篇:爬虫详解之urllib.request模块

    我将urllib.request 的GET请求和POST请求两种方法做了总结 GET请求 GET请求爬取: import urllib.request import urllib.parse head ...

  7. 内存表 ClientDataSet CreateDataSet

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

  8. 分享知识-快乐自己:Spring整合定时器

    前期工作:(引入相关 JAR ) <spring.quartz>1.8.4</spring.quartz> <!--spring 定时--> <depende ...

  9. 分享知识-快乐自己:Struts2 (常用的 constant 总结)

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-/ ...

  10. PHP基础陷阱题(变量赋值)

    PHP基础陷阱题代码,需要的朋友可以参考下   复制代码 代码如下: <?php $a=3; $b=6; if($a=5||$b=7){ $a++; $b++; } var_dump($a, $ ...