随笔 - 1357  文章 - 0  评论 - 1104  阅读 - 1941万

mycat中间件--linux安装mycat1.6版本

一、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-20161028204710-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.7.0_80
export JRE_HOME=/home/xm6f/dev/jdk1.7.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.3=-XX:MaxPermSize=1024M
wrapper.java.additional.5=-XX:MaxDirectMemorySize=4G
# Initial Java Heap Size (in MB)
wrapper.java.initmemory=512
# Maximum Java Heap Size (in MB)
wrapper.java.maxmemory=512

 

posted on   Ruthless  阅读(13065)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
历史上的今天:
2013-11-22 Spring3.1新特性
2013-11-22 Spring MVC入门
2013-11-22 人生规划
< 2025年3月 >
23 24 25 26 27 28 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 1 2 3 4 5

点击右上角即可分享
微信分享提示