一、前期准备
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
安装
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/
配置
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>
启动mycat
cd /data/soft/mycat/bin ./mycat start
四、测试链接mycat
连接mycat
##mysql -umycat -pmycat123456 -P8066 ## 不加 -h没有虚拟数据库 mysql -umycat -pmycat123456 -h127.0.0.1 -P8066 show databases; ## 有虚拟数据库shop存在ok成功一半
测试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_',
];