zoukankan      html  css  js  c++  java
  • mycat的安装与配置

    前提: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官网的教程。

  • 相关阅读:
    Elastic-Job分布式任务调度
    java.sql.BatchUpdateException: ORA-01861: 文字与格式字符串不匹配
    oracle锁表和解锁
    sql ibatis
    唯一索引
    斐波那契数列
    旋转数组的最小数字
    两个栈来实现一个队列
    重建二叉树
    重写和重载
  • 原文地址:https://www.cnblogs.com/jefflee168/p/7129178.html
Copyright © 2011-2022 走看看