美文网首页
Mycat+MySQL双主双从集群搭建与读写分离配置

Mycat+MySQL双主双从集群搭建与读写分离配置

作者: 华仔杨 | 来源:发表于2018-10-31 14:41 被阅读0次

最近一直在研究MySQL的集群搭建,从网上找了好多帖子进行搭建,遇到了很多问题,今天与大家分享一下我的学习成果,如有不对的地方,希望大家能多多指正,另外有关MySQL和Mycat的安装此处不做赘述,此文章只对集群搭建的配置进行详细说明。

操作系统

CentOS7、MySQL:5.7.23 、Mycat:1.5.1

此处我们准备五台服务器,分别如下:

192.168.68.125:8806    Mycat

192.168.68.126:3306    Master

192.168.68.127:3306    Master

192.168.68.128:3306    Slave

192.168.68.129:3306    Slave

MySQL双主双从集群搭建

Master(每台master都需要执行)

1、登录MySQL,创建复制账户

    在Master的数据库中建立一个复制账户,每个Slave使用该账户连接Master进行复制,需要replication  slave 和 replication  client 权限,Master的连接信息会存储在文本文件中。

说明:创建了一个用户名为mysync,密码为123456的用户,允许在“192.168.68.%”上的slave登录

2、拷贝数据

    如果是新安装的MySQL主从服务器,这一步不需要。如果master之前有数据,需要把Master上的数据导出并还原到slave上,要保证Master和Slave服务器中的数据是一样的。建议导出Master库的时候进行锁表,导完后再解锁。

    mysql> flush  tables  with read  lock;

    mysqldump -uroot -p123456 by dy_qqopen > dy_qqopen.sql

    mysql>unlock  tables;

3、修改Master服务器 /etc/my.cnf配置

4、创建二进制日志记录,授权,重启MySQL

    mkdir  -p /var/log/mysql

    chown mysql:mysql  /var/log/mysql  -R

    systemctl  restart  mysqld.service

5、查看Master状态

记录下File和Position,下面配置Slave的时候需要用到

Slave服务器配置

1、修改Slave服务器 /etc/my.cnf配置

注:每台服务器的server-id值必须不同

2、创建二进制日志目录,授权,重启MySQL

    mkdir  -p /var/log/mysql

    chown mysql:mysql  /var/log/mysql  -R

    systemctl  restart  mysqld.service

3、连接Master服务器

4、手动启动复制线程

5、查看主从状态

主备互换搭建时,将两台主服务器按照主从搭建流程相互执行一遍即可。

相关配置说明

1、log-bin:控制master是否开启二进制日志(binlog)记录功能

2、server-id:每个server服务的标识,在master/slave环境中,此变量一定要不一样

3、binlog-do-db:只记录指定数据库的更新到二进制日志中

4、binlog-ignore-db:忽略指定数据库的更新到二进制日志中

5、log_slave_updates:此参数控制slave数据库是否把从master接受到的log并在本slave执行的内容记录到slave的二进制日志中,在级联复制环境中(包括双master环境),这个参数是必须的。

6、auto_increment_increment=2:增长的步长

    auto_increment_offset=1:起始位置

在双master环境下可以防止键值冲突

相关文章

网友评论

      本文标题:Mycat+MySQL双主双从集群搭建与读写分离配置

      本文链接:https://www.haomeiwen.com/subject/zwmotqtx.html