Mysql主从复制、读写分离+MyCat数据库中间件

来源:互联网 发布:服装数据分析文字 编辑:程序博客网 时间:2024/05/17 09:02

最近搭建了 MySQL 主从 并使用MyCat作为数据库中间件

版本:

Mysql  5.5.48

Linux :CentOS 6.8

MyCat : 1.4


节点:

192.168.152.11Cluster1

192.168.152.12Cluster2

192.168.152.13Cluster3


首先 在三台节点上都安装mysql (如何安装 自行百度)

授权登陆:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY 'root' WITH GRANT OPTION;

三台节点都授权远程登陆


三个节点都创建数据库 database1 、database2

----------------------------------------

配置MySQL主服务器的my.cnf文件

vim /etc/my.cnf

在[mysqld]下面加入如下内容

binlog-do-db=database1binlog-do-db=database2binlog-ignore-db=mysql
并且 开启binlog日志

log-bin=mysql-bin
以及Server-id 

server-id       = 1

如图:

主服务器配置OK

service mysql restart
重启服务

进入Mysql命令行

show master status\G
得到:



记住这里的:

     File: mysql-bin.000028        Position: 22285
一会要用到

配置MySQL从服务器的my.cnf文件

replicate-do-db=database1replicate-do-db=database2replicate-ignore-db=mysql



以及修改serverid

server-id       = 2

另一台从服务器同理 ServerId 为3 

重启Mysql服务

注意:MySQL 5.1.7版本之后,已经不支持把master配置属性写入my.cnf配置文件中了,只需要把同步的数据库和要忽略的数据库写入即可。


Mysql命令行 进入Mysql 在 Cluster2、Cluster3上执行

slave stop;   #停止slave同步进程
然后执行:

change master to master_host='192.168.152.11',master_user='root',master_password='root',master_log_file='mysql-bin.000028' ,master_log_pos=22285;
注意这里的 

master_log_file='mysql-bin.000028' ,master_log_pos=22285;

一定要对应

配置Ok后执行:

slave start;    #开启slave同步进程
开启Slave

在执行:

SHOW SLAVE STATUS\G   #查看slave同步信息,出现以下内容

注意查看:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
以上这两个参数的值为Yes,即说明配置成功!


OK主从复制搭建成功


接下来 安装Mycat1.4 下载地址:http://www.mycat.org.cn/  点击这里直接下载

解压Mycat

得到:


接下来进行配置读写分离

首先 :

vim wrapper.conf 
配置Java路径


然后 编辑

vim schema.xml
修改内容如下:

<?xml version="1.0"?><!DOCTYPE mycat:schema SYSTEM "schema.dtd"><mycat:schema xmlns:mycat="http://org.opencloudb/">        <schema name="database1" checkSQLschema="false" sqlMaxLimit="100" dataNode="database1"></schema>        <dataNode name="database1" dataHost="localhost1" database="database1" />        <dataHost name="localhost1" maxCon="1000" minCon="10" balance="1" writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">                <heartbeat>select user()</heartbeat>                <writeHost host="cluster1" url="192.168.152.11:3306" user="root" password="root">                        <readHost host="cluster2" url="192.168.152.12:3306" user="root" password="root" />                        <readHost host="cluster3" url="192.168.152.13:3306" user="root" password="root" />                </writeHost>        </dataHost></mycat:schema>
简单说明一下:


编辑账户
vim server.xml

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mycat:server SYSTEM "server.dtd"><mycat:server xmlns:mycat="http://org.opencloudb/">        <system>                <!--                         <property name="mutiNodeLimitType">1</property> 0:开启小数量级(默认) ;1:开启亿级数据排序                        <property name="mutiNodePatchSize">100</property> 亿级数量排序批量                        <property name="processors">32</property> <property name="processorExecutor">32</property>                         <property name="serverPort">8066</property> <property name="managerPort">9066</property>                         <property name="idleTimeout">300000</property> <property name="bindIp">0.0.0.0</property>                         <property name="frontWriteQueueSize">4096</property> <property name="processors">32</property> -->        </system>        <user name="admin">                <property name="password">admin</property>                <property name="schemas">database1</property>        </user></mycat:server>
这里的 的schemas 一定要和前面的 对应


配置OK

bin/mycat start

启动Mycat

连接MyCat

mysql -h127.0.0.1 -uadmin -padmin -P8066


Ok 配置结束


Mysql 主从复制 + MyCat读写分离 配置就OK了


4 0
原创粉丝点击