一、mycat安装前准备
1、mycat下载地址,点击此处进行下载
2、环境要求如下:

mycat使用Java开发,因为用到了JDK 7的部分功能,所以在使用前请确保安装了JDK 7.0,并设置了正确的Java环境变量(可在命令行窗口输入:“java –version”获知是否安装成功,以及获取JDK的版本)。

二、安装mysql

a、安装mysql此处忽略
b、初始化数据库信息:

drop database if exists mldn;
create database mldn character set utf8;
use mldn;
create table member(
mid varchar(50),
name varchar(50),
age int,
salary double,
birthday date,
note text,
constraint pk_mid primary key(mid)
); insert into member(mid,name,age,salary,birthday,note) values ('mldn','hello',10,2000.0,'2005-11-11','very good') ;
insert into member(mid,name,age,salary,birthday,note) values ('admin','administrator',10,2000.0,'2005-11-11','very good');
insert into member(mid,name,age,salary,birthday,note) values ('guest','administrator',10,2000.0,'2005-11-11','very good');

三、安装mycat
1、下载mycat
为了方便,我已经下载下来。我选择的版本是1.6版本

2、解压,安装在/home/xm6f/dev目录下

cd /home/xm6f/dev
tar -zxvf Mycat-server-1.6-RELEASE--linux.tar.gz

为了以后更好看目录结构,下tree(可选)

yum -y install tree
tree /home/xm6f/dev/mycat #查看mycat目录结构

3、创建用户并修改配置文件
a、为了更好的进入mycat,设置MYCAT_HOME的变量:vim /etc/profile
修改增加下列内容:

export JAVA_HOME=/home/xm6f/dev/jdk1..0_80
export JRE_HOME=/home/xm6f/dev/jdk1..0_80/jre
export MYCAT_HOME=/home/xm6f/dev/mycat
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$MYCAT_HOME/bin 使得变量生效:source /etc/profile

###服务器名和IP绑定

vim /etc/hosts
192.168.1.105 mycat-server
127.0.0.1 mycat-server

###设置 wrapper.java.command 的java 路径
( 同时可设置 -Xmx 和 -Xms ,参考: mycat 启动失败 The specified size exceeds the maximum representable size)

vim /home/xm6f/dev/mycat/conf/wrapper.conf
wrapper.java.command=%JAVA_HOME%/bin/java

b、修改server.xml
cd /home/xm6f/dev/mycat
vim conf/server.xml

开启实时统计,便于后期安装mycat-eye的监测
<!-- 1为开启实时统计、0为关闭 -->
<property name="useSqlStat">1</property> 这四项都去掉注释,使得生效
<!--默认是65535 64K 用于sql解析时最大文本长度 -->
<property name="maxStringLiteralLength">65535</property>
<property name="sequnceHandlerType">0</property>
<property name="backSocketNoDelay">1</property>
<property name="frontSocketNoDelay">1</property>

最主要的看下面的配置,这是连接mycat的时候的用户名和密码

    <user name="root">
<property name="password">123456</property>
<property name="schemas">TESTDB</property> <!-- 表级 DML 权限设置 -->
<!--
<privileges check="false">
<schema name="TESTDB" dml="0110" >
<table name="tb01" dml="0000"></table>
<table name="tb02" dml="1111"></table>
</schema>
</privileges>
-->
</user> <user name="user">
<property name="password">user</property>
<property name="schemas">TESTDB</property>
<property name="readOnly">true</property>
</user>

mycat的用户名和密码:root/123456、user/user

c、修改schema.xml
cd /home/xm6f/dev/mycat
vim conf/schema.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/"> <schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1" />
<dataNode name="dn1" dataHost="localhost1" database="mldn" />
<dataHost name="localhost1" maxCon="1000" minCon="10" balance="0" writeType="0" dbType="mysql"
dbDriver="native" switchType="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<!-- can have multi write hosts -->
<writeHost host="hostM1" url="192.168.1.33:3306" user="root" password="attack">
</writeHost>
</dataHost>
</mycat:schema>

d、修改log4j的配置
为了让信息启动时更好定位,需要将conf/log4j2.xml的文件修改为debug级别。

四、启动mycat服务

# mycat { console | start | stop | restart | status | dump }

总结
关于MyCAT的配置其实是蛮简单的,最主要的是熟悉各配置文件的规则。以上用户名,密码,如何分库,都是在配置文件中定义的。

关于配置文件,conf目录下主要以下三个需要熟悉。
server.xml是Mycat服务器参数调整和用户授权的配置文件
schema.xml是逻辑库定义和表以及分片定义的配置文件
rule.xml是分片规则的配置文件

WrapperSimpleApp: Encountered an error running main: java.lang.OutOfMemoryError: Direct buffer memory

修改wrapper.conf的配置文件:

wrapper.java.additional.=-XX:MaxPermSize=1024M
wrapper.java.additional.=-XX:MaxDirectMemorySize=4G
# Initial Java Heap Size (in MB)
wrapper.java.initmemory=
# Maximum Java Heap Size (in MB)
wrapper.java.maxmemory=

mycat中间件--linux安装mycat1.6版本的更多相关文章

  1. Linux安装Mycat1.6.7.4并实现Mysql数据库读写分离简单配置

    1. Mycat简介 一个彻底开源的,面向企业应用开发的大数据库集群 支持事务.ACID.可以替代MySQL的加强版数据库 一个可以视为MySQL集群的企业级数据库,用来替代昂贵的Oracle集群 一 ...

  2. Linux 安装多个版本JDK并设置默认版本

    1 官网下载JDK版本 jdk-8u181-linux-x64.tar.gz 2 利用ssh工具上传安装包到Linux系统 传至:/usr/local 3 Linux用户安装的程序一般放在 /usr/ ...

  3. linux安装最新(任意)版本nodejs

    首先在终端中使用命令 uname -a 查看系统版本 uname -a x86_64 是64位的 所以要安装64位对应的nodejs 打开nodejs中文网里的下载 找到64位的文件 点击后就下载了 ...

  4. Linux安装mysql5.7版本

    1.linux安装mysql5.7顺序 ①mysqladmin –version 查看版本号 ②mysql5.7安装在linux中需要先初始化 Mysqld –initialize –user=mys ...

  5. Linux安装mariadb二进制版本

    上一篇说了mariadb编译安装过程,但在生产环境中一般使用发布好的二进制版本,由于安装过程和之前一样,不再详细叙述,只是简单概括一下安装过程: 1. 下载 地址为:https://downloads ...

  6. linux 安装jdk 二进制版本,非安装版

    0.下载jdk8 登录网址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html选择对 ...

  7. Linux安装MySQL8高版本压缩包(通用)

    前言 前段时间领导让我部署测试环境,希望安装高版本的MySQL,过程遇到很多问题,特此记录帮助迷失的人们 下载 MySQL官方下载地址:https://dev.mysql.com/downloads/ ...

  8. linux 安装svn最新版本

    一.安装svn yum install -y subversion-* 结果为Complete就为正确 查看svn版本号 svnserve --version 1.6.11版本 mkdir /opt/ ...

  9. linux 安装mysql5.7版本

    首先准备好mysql5.7.17的安装包,安装包放在  /data/software 目录下 进入到 /usr/local 目录下,解压mysql安装包 命令:   cd /usr/local tar ...

随机推荐

  1. day30(对象转json(java))

    转换之前需要知道什么是json json类似于map集合:键值对的方式存在,是一种轻量级数据交互格式. eg: {name:" ",age:15} [{name:" &q ...

  2. java基础-day27

    第04天 java基础加强 今日内容介绍 u Xml的综合案例 u 注解 u 类的加载 u 动态代理 第1章   注解 1.1  注解概述 l  什么是注解:Annotation注解,是一种代码级别的 ...

  3. Hdu1010 Tempter of the Bone(DFS+剪枝) 2016-05-06 09:12 432人阅读 评论(0) 收藏

    Tempter of the Bone Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Othe ...

  4. Maven的插件管理

    <pluginManagement> 这个元素和<dependencyManagement>相类似,它是用来进行插件管理的. 在我们项目开发的过程中,也会频繁的引入插件,所以解 ...

  5. Swift3 倒计时按钮扩展

    extension UIButton{ func overrideSelf(){ self.setTitle("验证码", for: .normal) self.titleLabe ...

  6. Java map的匿名类的初始化

    可以直接使用: Map<String, Object> testMap = new HashMap<String, Object>() { { put("test1& ...

  7. WPF 触摸屏小键盘样式

    WPF程序,用于平板时,一些输入数量的地方我们需要弹出小键盘输入,这个键盘可以调系统的,也可以自己写. 分享个我现在用的一个数字键盘界面. <Window xmlns:dxe="htt ...

  8. CopyOnWriteArrayList源码解析(2)

    此文已由作者赵计刚授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 5.删除元素 public boolean remove(Object o) 使用方法: list.remo ...

  9. 有标号的DAG图计数1~4

    前言 我什么都不会,菜的被关了起来. 有标号的DAG图I Solution 考虑递推,设\(f_i\)表示i个点的答案,显然这个东西是可以组合数+容斥递推? 设\(f_i\)表示i个点的答案,我们考虑 ...

  10. Python3.5学习十八 Python之Web框架 Django

    Python之Web框架: 本质:Socket 引用wsgiref创建web框架 根据web框架创建过程优化所得: 分目录管理 模板单独目录 执行不同函数单独存入一个方法py文件 Web框架的两种形式 ...