Bootstrap

MyCat详细安装(RDS云数据库版)

一、前期准备

1、阿里云的RDS主从数据库(2个)  
    ---如果阿里ECS服务器与RDS主从数据库服务器不在一个区要开通外网地址
2、阿里ECS服务器要安装本地mysql

3、在mysql创建一个mycat用户 密码mycat123456

二、安装Java

chmod 0775 /data

tar -xvf jdk-8u121-linux-x64.tar.gz 

环境变量
vi /etc/profile

完全环境变量配置
export JAVA_HOME=/data/soft/jdk1.8.0;
export JRE_HOME=$JAVA_HOME/jre;
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin;

生效环境变量
source /etc/profile

设置好后我们来检验一下是否设置正确
echo $JAVA_HOME     # 检验变量值
java -version
$JAVA_HOME/bin/java -version  # 与直接执行 java -version 一样

三、安装mycat

  1. 安装

    cd /data/soft
    wget http://dl.mycat.io/1.6-RELEASE/Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz  ##下载mycat 官网地址:http://www.mycat.io/
    tar -xvf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz
    groupadd mycat
    useradd -g mycat mycat
    chown -R mycat:mycat mycat/
    
  2. 配置

    cd /data/soft/mycat/conf
    
    配置server.xml 
    <user name="mycat">   <!--mycat对外项目连接用户-->
       <property name="password">mycat123456</property>  <!--用户密码-->
       <property name="schemas">shop</property>   <!--虚拟数据库名-->
    </user>
    
    配置schema.xml 
        删除<schema></schema>里面所有节点内容
        保留第一个<dataNode></dataNode> 删除第二个和第三个<dataNode></dataNode>
        配置 <writeHost></writeHost>里面的主从
        <writeHost host="hostM1" url="demo主.aliyuncs.com:3306" user="root" password="123456">
                    <!-- can have multi read hosts -->
                    <readHost host="hostS1" url="demo从.aliyuncs.com:3306" user="node2" password="123456" />
        </writeHost>
    
  3. 启动mycat

    cd /data/soft/mycat/bin
    ./mycat start
    

四、测试链接mycat

  1. 连接mycat

    ##mysql -umycat -pmycat123456 -P8066  ## 不加 -h没有虚拟数据库
    mysql -umycat -pmycat123456 -h127.0.0.1  -P8066 
    show databases;   ## 有虚拟数据库shop存在ok成功一半
    
  2. 测试mycat

    create table test(id bigint not null primary key,name varchar(100));   ## 查看主从有表存在
    insert into test(id,name)  values(1,'mycat');   ## 主从存在数据测试ok
    

五、配置mycat系统环境

vi /etc/profile

export MYCAT_HOME=/data/soft/mycat;
export PATH=$MYCAT_HOME/bin:$PATH:$JAVA_HOME/bin;

source /etc/profile

####mycat启动命令######
mycat start
mycat restart
mycat stop

六、项目配置

thinkphp项目db.php配置

<?php
            return array(
                'DB_TYPE' => 'mysql',
                'DB_HOST' => '127.0.0.1',  //如果项目与mycat不在一台主机上 地址更改为mycat所在服务器地址
                'DB_NAME' => 'shop',      //mycat虚拟数据库
                'DB_USER' => 'mycat',     //连接mycat账号
                'DB_PWD' => 'mycat123456', //连接mycat密码
                'DB_PORT' => '8066',
                'DB_PREFIX' => 'xz_',
            );

yii2项目配置:

<?php

            return [
                'class' => 'yii\db\Connection',
                'dsn' => 'mysql:host=127.0.0.1:8066;dbname=shop',  //mycat连接和虚拟数据库
                'username' => 'mycat',   //连接mycat账号
                'password' => 'mycat123456', //连接mycat密码
                'charset' => 'utf8',
                'tablePrefix' => 'xz_',
            ];
;