Mysql读写分离

准备三台虚拟机

主节点:192.168.59.171

从节点:192.168.59.169

节    点:192.168.59.168

配置本地yum源

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
enabled=1
[centos]
name=centos
baseurl=file:///opt/centos
gpgcheck=0
enabled=1

Mysql读写分离 

mkdir /opt/centos //创建文件夹
mount /dev/sr0 /opt/centos //挂载文件
将准备好的本地源文件gpmall-repo上传到/opt目录下

Mysql读写分离

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

Mysql读写分离

 

 

 下载mycat

mycat:Index of /1.6.7.6/ (mycat.org.cn)

将其上传到/opt目录下
tar -zxvf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz //解压mycat
mv mycat /usr/lcoal //将mycat移动到/usr/local下方
chmod -R 777 /usr/local/mycat //给mycat文件权限
echo export MYCAT_HOME=/usr/local/mycat/ >> /etc/profile //写入配置文件
source /etc/profile //刷新配置文件

Mysql读写分离

 

 

进入主mysql与从mysql给权限

grant all privileges  on *.* to root@'%' identified by "123456";

修改mycat配置文件

vim /usr/local/mycat/conf/schema.xml //进入mycat的配置文件
全部删除
将下方代码添加进去
<?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="主节点IP:3306" user="root" password="123456"> <readHost host="hostS1" url="从节点IP:3306" user="root" password="123456" /> </writeHost> </dataHost> </mycat:schema>
chown root:root /usr/local/mycat/conf/schema.xml //给文件权限
cd /usr/local/mycat //进入mycat文件夹下
cd conf/server.xml //进入配置文件将TESDB修改成USERDB password是密码
将方框内容删除

Mysql读写分离

/usr/local/mycat/bin/mycat start //启动mycat
netstat -ntlp //查看端口

Mysql读写分离

进入数据库

mysql -h127.0.0.1 -P8066 -uroot -p123456//进入数据库
how databaes; //查看
use USERDB; //进入库
create table company(id int not null primary key,name varchar(50),addr varchar(255)); //创建表
show tables; //查看表
insert into company values(1,"facebook","usa"); //插入数据
select * from company //查看字段

Mysql读写分离

mysql -h127.0.0.1 -P9066 -uroot -p123456 -e 'show  @@datasource;'

Mysql读写分离

 

上一篇:MYCAT教程之Schema


下一篇:MyCat核心概念