最近搭建了 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=database1并且 开启binlog日志
binlog-do-db=database2
binlog-ignore-db=mysql
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=database1
replicate-do-db=database2
replicate-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"?>这里的 的schemas 一定要和前面的 对应
<!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>
配置OK
bin/mycat start
启动Mycat
连接MyCat
mysql -h127.0.0.1 -uadmin -padmin -P8066
Ok 配置结束
Mysql 主从复制 + MyCat读写分离 配置就OK了