MySQL的3节点主从同步复制方案

上篇文章《为什么要对MySQL做主从同步复制》我们说明了MySQL主从同步的作用,主从同步的原理和主从同步的缺点。下面我们介绍下3节点中:2个节点互为主从,1个节点作为前2个节点的从,用于实现MySQL5.6的3节点主从同步复制方案。

主要步骤如下:

1.配置MasterA端同步复制时所需要的选项

2.在MasterA主库上创建同步复制时的用户并授权

3.MasterA主库锁表

4.记录MasterA主库的binlog以及pos位置节点

5.导出MasterA主库m_s_rep数据库

6.配置MasterB端同步复制时所需要的选项

7.在MasterB上创建数据库m_s_rep并导入主库备份

8.在MasterB上创建同步复制时的用户并授权

9.记录MasterB从库的binlog以及pos位置节点

10.配置MasterA和MasterB互为主从并开启从库同步

11.查看MasterB的relay-log以及master.info

12.MasterA主库解锁

13.配置Slave端同步复制时所需要的选项

14.在Slave端上创建数据库m_s_rep并导入主库备份

15.配置Salve端为MasterA和MasterB同步并开启同步

一.环境配置说明

1.IP地址分配

Hostname      IP地址              节点

MYSQL01       10.62.83.201  MasterA

MYSQL02       10.62.83.202  MasterB

MYSQL03       10.62.83.203  Slave

2.协议和端口

节点   服务   端口

MasterA       mysqld 3306

MasterB       mysqld 3306

Slave  mysqld 3306

3.软件包版本

软件   版本号

OS     CentOSrelease 6.7 (Final)

MySQL  MySQL-5.6.27-1.el6.x86_64.rpm-bundle.tar

JDK    java-1.8.0-openjdk-1.8.0.20-3.b26.el6.x86_64

二.安装MySQL前准备

在3个节点中,分别安装如下MySQL5.6.27依赖包,执行步骤如下:

1.依赖包安装

# yum install -y openssl* openssl-devel zlib-devel gcc gcc-c++make autoconf readline-devel curl-devel expat-devel gettext-devel ruby

2.卸载OS默认低版本的openjdk

# rpm-qa | grep jdk

# yum-y remove java-1.6.0 java-1.7.0

3.安装java运行环境openjdk-1.8.0

# yum-y install java-1.8.0

4.配置JDK环境变量$JAVA_HOME

# vim/etc/profile

exportJAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.20-3.b26.el6.x86_64/bin/java#new add content

5.配置DNS本地域名解析

# vim/etc/hosts

10.62.83.201     MYSQL01 #new add content

10.62.83.202     MYSQL02

10.62.83.203     MYSQL03

6.卸载OS中旧版本的mysql-libs

# cd / && rpm-qa |grep mysql*

# yum -y removemysql-libs-5.1.73-3.el6_5.x86_64

7.防火墙配置

你可以选择关闭iptables,或者配置iptables规则。

三.安装MySQL程序包

在3个节点分别安装MySQL5.6.27如下软件包,执行步骤如下:

1.解压tar包

# cd /usr/local/data

# tar xfMySQL-5.6.27-1.el6.x86_64.rpm-bundle.tar

2.安装rpm包

# yum -y installMySQL-client-5.6.27-1.el6.x86_64.rpm MySQL-server-5.6.27-1.el6.x86_64.rp

四.主从关系配置准备

MySQL5.6.27初始登陆的密码是一串salt密码,为了便于登录MySQL,在3个节点分别执行如下配置:

1.登录MySQL配置

启动mysql服务:

# service mysql start

Starting MySQL. SUCCESS!

查看各个节点的mysql初始密钥文件:

# cat/root/.mysql_secret

# The random passwordset for the root user at Thu Nov  511:12:13 2015 (local time): MzmPQ1uPJ0Sgyki4

登录mysql:

# mysql -u root –p                  # 复制粘贴或手动输入密钥

登录后,设置mysql登录的新密码:

mysql > SET PASSWORDFOR ‘root‘@‘localhost‘ = PASSWORD(‘mysql‘);

mysql > flushprivileges;

mysql > exit;

时间: 2024-12-14 05:09:37

MySQL的3节点主从同步复制方案的相关文章

MySQL的3节点主从同步复制方案测试

上接<MySQL的3节点主从同步复制方案> 六.测试主从同步复制 现在我们来测试下,mysql的主从同步. 1.在主库插入测试数据 先在主库MasterA 上给m_s_rep数据库插入和删除2条数据.如下: mysql> insert into test(id,content) values(3,'data3'); mysql> insert into test(id,content) values(2,'data2'); mysql> select * from test;

mysql5.5主从同步复制配置

在上篇文章<烂泥:学习mysql数据库主从同步复制原理>中,我们介绍了有关mysql主从复制的基本原理.在这篇文章中,我们来实际测试下mysql5.5的主从同步复制功能. 注意mysql5.1.7以前版本与其以后的版本在主从同步部分参数不同.mysql5.1.7以后的版本中不支持master-connect-retry之类的参数.如果在my.cnf文件中加入该类似的参数,mysql会在下次重启时报错. 说明:主库master与从库slave都是centos6.5 64bit,如下: cat /

烂泥:mysql5.5主从同步复制配置

本文首发于烂泥行天下. 在上篇文章<烂泥:学习mysql数据库主从同步复制原理>中,我们介绍了有关mysql主从复制的基本原理.在这篇文章中,我们来实际测试下mysql5.5的主从同步复制功能. 注意mysql5.1.7以前版本与其以后的版本在主从同步部分参数不同.mysql5.1.7以后的版本中不支持master-connect-retry之类的参数.如果在my.cnf文件中加入该类似的参数,mysql会在下次重启时报错. 说明:主库master与从库slave都是centos6.5 64b

MySQL多实例实现半同步复制

MySQL多实例实现半同步复制 主库1:192.168.40.150 主库2:192.168.40.161 从库(2个MySQL实例):192.168.40.162 一:分别在192.168.40.161和192.168.40.150使用[show master status;]记录当前的复制位置 如下所示 mysql> show master status; +--------------+----------+--------------+------------------+-------

Mysql读写分离与主从数据库设置方案

Mysql读写分离与主从数据库设置方案 亿仁网 18-10-0711:31 Mysql无非四个功能:增,删,改,读.而将增删改和读分离操作.这样有利于提高系统性能.下面是非常直观的操作: 1.配置: 两台服务器同配置的mysql如mysql5.7 PS:如果条件有限,一台也可以,只需要安装两个mysql服务(不同端口如3306,3307),只是这就有点违背效率初衷了 2.代码: 1.一般直接在代码层将mysql操作类的读写如update,insert与select * from进行路由分离.使之

ssdb 主从同步复制配置详细步骤

SSDB 的配置文件是一种层级 key-value 的静态配置文件, 通过一个 TAB 缩进来表示层级关系. 以 '#' 号开始的行是注释.  ssdb的使用遵循redis协议,读写性能都特别快. 有时我们在使用数据库时,像mongodb,redis和一些关系行数据,为了使数据更加安全,作为备份使用我们经常习惯使用主从复制架构,当主机上的数据出现问题时,我们就可以连接到slave机器 也就是另外一台机器会从主机上进行同步数据,如果我们使用linux命令 netstat -apn,会发现slave

烂泥:学习mysql数据库主从同步复制原理

本文由秀依林枫提供友情赞助,首发于烂泥行天下. 说明本篇文章部分转载自互联网. MySQL的Replication(英文为复制)是一个多MySQL数据库做主从同步的方案,特点是异步复制,广泛用在各种对MySQL有更高性能.更高可靠性要求的场合.与之对应的是另一个同步技术是MySQL Cluster,但因为MySQL Cluster配置比较复杂,所以使用者较少. MySQL的Replication是一个异步复制的过程(mysql5.1.7以上版本分为异步复制和半同步两种模式),它是从一个Mysql

mysql数据库主从同步复制原理

MySQL的Replication(英文为复制)是一个多MySQL数据库做主从同步的方案,特点是异步复制,广泛用在各种对MySQL有更高性能.更高可靠性要求的场合.与之对应的是另一个同步技术是MySQL Cluster,但因为MySQL Cluster配置比较复杂,所以使用者较少. MySQL的Replication是一个异步复制的过程(mysql5.1.7以上版本分为异步复制和半同步两种模式),它是从一个Mysql instance(instance英文为实例)(我们称之为Master)复制到

MySQL主从同步(复制)的配置

1.主从复制的原理: *Master,记录数据更改操作 - 启用binlog记录模式 - 允许Slave读取binlog日志 *Slave运行2个同步线程 - Slave_IO:负责连接Master,复制其binlog日志文件到本机的relay-log文件 - Slave_SQL:执行本机relay-log文件里的SQL语句,重现Master的数据操作 2.基本构建思路: 1)初始化现有库:将主库导入从库,确保数据一致性 2)配置Master,主服务器:调整运行参数,授权一个同步用户 3)配置S