准备
三台虚拟机
| 机器名称 |
|---|
| mysql1 主节点 |
| mysql2 从节点 |
| mycat 节点 |
mysql1和mysql2需要提前进行主从分离操作哦(当然不是硬性要求)。
更换yum源下载所需软件
配置本地yum源
如果没配置过本地yum源,大部分linux使用yum获取的软件都是联网下载的,但是配置本地后,速度快,还无需联网。并且部分yum源的软件版本更高。
!!!!注意 如果习惯vim,请先安装vim再进行如下配置。或者使用vi也可。
#mv /etc/yum.repos.d/* /media/ //将yum.repos.d下面的所有文件转移到 media文件夹#vim /etc/yum.repos.d/local.repo //创建并编写local.repo,本地配置文件#将以下文字复制粘贴进去[mariadb]name=mariadb #源名称baseurl=file:///opt/gpmall-repo #源文件位置gpgcheck=0 #是否开启gpg验证 0 为关闭enabled=1 #是否开启 1 为开启[centos]name=centosbaseurl=file:///opt/centosgpgcheck=0enabled=1

mkdir /opt/centos #创建文件夹,因为上面指定的文件夹咱们还没创建mount /dev/sr0 /opt/centos #挂载文件#将yum本地源文件gpmall-repo,根据上面的配置,传输到/opt文件夹下。#自行准备xftp等软件。

装配完成后输入yum repolist 查看yum源!不是0,基本上就完成了。

安装jdk和mycat
yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel MariaDB-client #下载jdk和所需的文件java -version #查看jdk版本

将mycat传输到虚拟机中!并且解压
tar -zxf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz -C /usr/local/#将mycat解压到/usr/local文件夹下方。chmod -R 777 /usr/local/mycat #给mycat文件权限echo export MYCAT_HOME=/usr/local/mycat/ >> /etc/profile #写入配置文件source /etc/profile #刷新配置文件wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpmyum localinstall mysql57-community-release-el7-8.noarch.rpm -yrpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022yum install mysql-community-client.x86_64 -y
配置
在mysql1和mysql2节点输入命令,给予权限。
mysql> grant all privileges on *.* to root@'%' identified by "000000";#给予所有权限!
修改mycat配置文件
chown root:root /usr/local/mycat/conf/schema.xml #给予配置文件权限vim /usr/local/mycat/conf/schema.xml #进入mycat的配置文件#该页面内容全部删除。先输入数字,按下两下D,即可删除指定数量行。#将以下字符放入<?xml version="1.0"?><!DOCTYPE mycat:schema SYSTEM "schema.dtd"><mycat:schema xmlns:mycat="http://io.mycat/"><schema name="USERDB" checkSQLschema="true" sqlMaxLimit="100" dataNode="dn1"></schema><dataNode name="dn1" dataHost="localhost1" database="test" /><dataHost name="localhost1" maxCon="1000" minCon="10" balance="3" dbType="mysql" dbDriver="native" writeType="0" switchType="1" slaveThreshold="100"><heartbeat>select user()</heartbeat><writeHost host="hostM1" url="192.168.148.175:3306" user="root" password="000000"><readHost host="hostS1" url="192.168.200.171:3306" user="root" password="000000" /></writeHost></dataHost></mycat:schema>
看第五行,database=”test” 就是允许操作的主节点的数据库

cd /usr/local/mycat #进入mycat文件夹下vim conf/server.xml #进入配置文件#到文本的最后一行#<user> 标签 留下<user name="root">#将password修改成你想要的密码#schemas共享的数据库文件的“代号”,所以会将test数据库显示成USERDB

检查配置
启动查看是否启动成功,进入数据库,创建表,字段。
/usr/local/mycat/bin/mycat start #运行mycat服务netstat -ntlp #查看端口#会发现有很多端口被启动了,注意下8066端口

进入数据库,看看读写分离是否成功。
mysql -h127.0.0.1 -P8066 -uroot -p000000 #进入client数据库mysql[(none)] > show databaes; #显示USERDB,其实就是主节点的test库mysql[(none)] > use USERDB; #进入库mysql[(USERDB)] > create table company(id int not null primary key,name varchar(50),addr varchar(255)); #创建一些表mysql[(USERDB)] > show tables; #查看是否有表被创建mysql[(USERDB)] > insert into company values(1,"facebook","usa"); #插入数据mysql[(USERDB)] > select * from company /#查看字段mysql -h127.0.0.1 -P9066 -uroot -p000000 -e 'show @@datasource;'


此时就搭建好读写分离。注意!如果出现use USERDB; 无法创建表,请查看报错和是否有配置文件出错。
