最近搭建了 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-do-db=database2
- binlog-ignore-db=mysql
并且 开启binlog日志
- log-bin=mysql-bin
以及Server-id
- server-id = 1
如图:
主服务器配置OK
- service mysql restart
重启服务
进入Mysql命令行
- show master statusG
得到:
记住这里的:
- 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 STATUSG #查看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了