Mycat

Posted 秋夜雨巷

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mycat相关的知识,希望对你有一定的参考价值。

Mycat基于阿里的Cobar系统开发

 

Mycat下载与安装

jdk安装

Mycat是基于jdk1.7开发的,在安装之前要先安装jdk环境
yum install java-1.7.0-openjdk

mycat下载

下载mycat路径http://dl.mycat.io,或者直接运行命令

wget http://dl.mycat.io/1.6.5/Mycat-server-1.6.5-release-20180122220033-linux.tar.gz    #下载
tar zxvf /usr/Mycat-server-1.6.5-release-20180122220033-linux.tar.gz     #解压目录

 

linux系统上安装任何一种软件最好都要新建一个独立用户,不要用root运行,不然会产生不安全的因素

adduser mycat     #建立mycat用户
chown mycat:mycat -R .   #改变当前文件夹所属user和group
ll     #查看文件所属用户和所属组

配置环境变量

vi /etc/profile    #用户登录都会初始化这个文件
#JDK第一次安装的话也要配置环境变量
export MYCAT_HOME=/usr/local/mycat     #mycat环境配置
#然后使文件生效
source
/etc/profile

Mycat启动方式

  1. $MYCAT_HOME/bin下面的startup_nowrap.sh或者$MYCAT_HOME/bin/mycat

  2. 脚本方式可以设置参数

Mycat读写分离配置

schema.xml

    <!--schema 定义数据库名,限制sql返回记录条数为100,指定数据节点为dn1 -->
    <schema name="schoolDB" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1">
    
      <!-- 数据节点指定name属性,主机集群dataHost,真实数据库名database -->
      <dataNode name="dn1" dataHost="node1" database="school" />
      
      <!-- datahost指定最大连接数,最小连接数,balance读负载均衡 -->
      <dataHost name="node1" maxCon="1000" minCon="10" balance="1" writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
              
            <!--心跳,用来确定写服务器是否正常-->
            <heartbeat>select user()</heartbeat>
            
            <!-- 定义写服务器 -->
            <writeHost host="192.168.25.3" url="192.168.25.3:3306" user="root" password="123456">
                <!-- 定义写服务器的多个从服务器(读) -->
                <readHost host="192.168.25.4" url="192.168.25.3:3306" user="root" password="123456" />
            </writeHost>
            
            <!-- 高可用,定义一个从服务器有写属性,在主服务器down掉之后,此服务器会替代主服务器的位置进行写操作 -->
            <writeHost host="192.168.25.4" url="192.168.25.3:3306" user="root" password="123456" />
            
        </dataHost>
    </schema>

server.xml

    <!-- 设置mycat端口,可以设为3306-->
    <property name="serverPort">8066</property> 

    <!-- 设置连接mycat的用户名及密码以及是否只读-->
    <user name="root">
        <property name="password">123456</property>
        <property name="schemas">schoolDB</property>
    </user>
    
    <user name="mycat">
        <property name="password">123456</property>
        <property name="schemas">schoolDB</property>
        <property name="readOnly">true</property>
    </user>

 用mysql命令连接mycat

./mysql -uroot -p123456 -P 8066 -h 192.168.25.3

显示数据库:  show databases;

显示库中的表: 

    use dbName;
    show tables;    #查看数据库中有哪些表
 select * from tableName;

 

以上是关于Mycat的主要内容,如果未能解决你的问题,请参考以下文章

Mycat原理应用场景

数据库路由中间件MyCat - 源代码篇

数据库路由中间件MyCat - 源代码篇

MyCat使用实例

Mycat 1.6.5 分片导入时报2013代码解决方法

MyCat 入门:漫谈 MyCat 配置系统