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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM