前提: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. height()、innerHeight()、outerHeight()函数的区别详解

    具体参考博客:http://www.365mini.com/page/jquery-height-vs-innerheight-vs-outerheight.htm

  2. Kindeditor 函数用途

    1.loadScript  加载文件   2.updateState 更新工具条状态   afterCreate在dom加载的时候执行,dom加载完之前执行的 K.ready dom加载完之后执行   ...

  3. C#Winform之等待窗体

    窗体主要代码: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 ...

  4. CentOS7 + Python3 + Django(rest_framework) + MySQL + nginx + uwsgi 部署 API 开发环境, 记坑篇

    CentOS7 + Python3 + Django(rest_framework) + MySQL + nginx + uwsgi 部署 API 开发环境 CentOS7 + Python3 + D ...

  5. Codeforces Round #256 (Div. 2) E. Divisors 因子+dfs

    E. Divisors time limit per test 2 seconds memory limit per test 256 megabytes input standard input o ...

  6. 将double型小数点后面多余的零去掉

    /** 函数功能:将数值小数点后面多余的零清空.* 参数描述:*     [in] aSource - 输入的源数值:*     [out] aDestination - 输出截取后的数值*     ...

  7. poj3630 Phone List (trie树模板题)

    Phone List Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 26328   Accepted: 7938 Descr ...

  8. leetcode 35 Search Insert Position(二分法)

    Given a sorted array and a target value, return the index if the target is found. If not, return the ...

  9. Android SQLite学习指南

    一.SQLite简介 在Android平台上,集成了一个嵌入式关系型数据库—SQLite,SQLite3支持 NULL.INTEGER.REAL(浮点数字).TEXT(字符串文本)和BLOB(二进制对 ...

  10. AAC头部格式

    一共有2种AAC头格式,一种是StreamMuxConfig,另一种是AudioSpecificConfig 1.AudioSpecificConfig 读写header的代码参考    ffmpeg ...