MySQL 5.7搭建Master-Slave实践

原创 2017年07月21日 09:28:49

背景

理解了MySQL的Master-Slave的基本原理后,就想在本地虚拟机上实践一下。开启虚拟机上的两个节点,主库Ip为192.168.x.164,从库Ip为192.168.x.170,分别安装相同版本的MySQL 。同时参考http://www.cnblogs.com/jirglt/p/3549047.html这篇文章,完成Master-Slave的实践操作。

主从参数配置

第一步,配置master
ssh连接主库192.168.x.164,编辑/etc/my.cnf文件,添加如下配置:

这里写图片描述

log_bin指定二进制变更日志,server_id是主服务器的编号,值随便定义,唯一即可。
保存后重启mysql服务:service mysqld restart

第二步,配置slave
ssh连接从库192.168.x.170,编辑/etc/my.cnf,添加如下配置

这里写图片描述

relay_log指定二进制转存日志,server_id是从服务器的编号,值随便定义,唯一即可。
保存后重启mysql服务:service mysqld restart

注意事项:在编辑Master-Slave的相关配置时,注意key=value,中间不能有空格,否则会出现MySQL服务器启动失败的情况,查看相关日志说是log_bin参数不识别。

主库Master操作

第一步,创建从库登录帐号并授权

这里写图片描述

注意:利用MySQL创建用户和grant授权语法完成主库端操作。

create user ‘username’@’host’ identified by ‘password’;
grant replication slave on ‘username’@’host’

语句中的host是从库IP(192.168.x.170),即帐号在从库上登录主库时用的帐号密码信息。

第二步,查看主库状态,记录主库的文件信息。

这里写图片描述

从库Slave操作

第一步,创建并开启从库
登录从库的mysql,执行如下语句:

这里写图片描述

注意:语句中的master_log_file就是主库的show master status中的file文件,这里执行多次了,所以截图不一致。创建从库时关联的主库的文件是mysql-bin-000002.

第三步,查看从库状态

这里写图片描述

主从库线程列表

创建从库并启动后,主从库两边均会开启一个IO线程进行日志同步,从库还会有一个SQL线程进行数据同步,此外各自有一个主线程。

主库总共两个线程,查看线程情况如下:
这里写图片描述

从库总共三个线程,查看线程情况如下:
这里写图片描述

数据同步

第一步,登录主库MySQL,新建数据库,新建数据表,并插入一条记录。
第二步,从库的show slave status后显示的Slave_IO_Running和Slave_SQL_Running两个状态均为Yes,继而会自动完成数据同步操作。登录从库MySQL,查询数据库信息,可以看到主库最新数据已经同步到了从库了。

启示录

首先,当我看到从库这边数据自动完成同步,感觉好神奇啊。原谅我对MySQL的使用还停留在简单的单机层面上,最近买了本《高性能MySQL》,补补基础知识吧。

其次,虽然能百度到的文章很多,但是真正实践下来还是会碰到一些问题的,记录一下,算是实践过程的证据吧。虽然整理过程也挺耗时的,从8点开始整理,到成文发布,耗时一个多小时。等将来再回头看的时候,就会轻松很多了。

最后,实践完成后,再看同步的理论知识,清晰多了。

版权声明:本文为博主原创文章,未经博主允许不得转载。

MySQL5.6 数据库主从(Master/Slave)同步安装与配置详解

安装环境操作系统 :CentOS 6.5 数据库版本:MySQL 5.6.27 主机A:192.168.1.1 (Master) 主机B:192.168.1.2 (Slave)这里强调的数据库的版本...
  • u010870518
  • u010870518
  • 2016年05月06日 17:59
  • 85157

mysql正确关闭slave步骤

正确关闭slave步骤 1. 执行STOP SLAVE语句 2. 使用SHOW STATUS检查slave_open_temp_tables变量的值 3. 如果值为0,使用mysqladmin ...
  • jc_benben
  • jc_benben
  • 2017年03月31日 11:43
  • 1819

mysql (master/slave)复制原理及配置

1 复制概述       Mysql内建的复制功能是构建大型,高性能应用程序的基础。将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它主机(slav...
  • mer1234567
  • mer1234567
  • 2012年03月29日 09:43
  • 27220

一次mysql slave故障的解决过程

mysql> show slave status\G Last_SQL_Error: Relay log read failure: Could not parse relay log event ...
  • xtjsxtj
  • xtjsxtj
  • 2017年03月06日 13:07
  • 1066

mysql添加slave节点

说明: 向msql master----->slave1主从复制 中添加slave2节点 1.测试环境   主备        master       slave1           slav...
  • zhengwei125
  • zhengwei125
  • 2015年11月27日 15:42
  • 1546

mysql 的master-slave的搭建

为了测试半同步复制,首先搭建一套mysql 主从复制,目前我有两台机器安装的mysql版本一致5.6版本 一、设置参数文件 参数修改 : [mysqld] log_bin = mysql-bin ...
  • wll_1017
  • wll_1017
  • 2017年02月06日 10:21
  • 522

mysql 基于 master-master 的双机热备配置

master-master 就是两台服务器互为主从:  master1-slave(master2) && master2-slave(master1) master1: 192.168.10...
  • shuyun123456789
  • shuyun123456789
  • 2016年04月11日 11:02
  • 1488

MySQL Replication(Master与Slave基本原理及配置)

MySQL主从复制
  • weiwei101117
  • weiwei101117
  • 2016年07月26日 18:15
  • 651

MySql 5.7.18 数据库主从(Master/Slave)同步安装与配置详解

MySql复制的优点: 1.如果主服务器出现问题,可以快速切换到从服务器提供的服务 2.可以在从服务器上执行查询操作,降低主服务器的访问压力 3.可以在从服务器上执行备份,以避免备份期间影响主服...
  • zyw_java
  • zyw_java
  • 2017年06月10日 14:38
  • 1215

MySQL学习笔记--复制建立新Slave的方法:克隆Master\Slave

即建立新的Slave的方法 前面已经在文章“简单配置MySQL复制”中配置Slave时,没有说明复制从哪里开始,所以Slave是从头开始读取Master的binlog日志的。 但如果Master已经运...
  • lichangzai
  • lichangzai
  • 2015年12月31日 11:06
  • 2595
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MySQL 5.7搭建Master-Slave实践
举报原因:
原因补充:

(最多只允许输入30个字)