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点开始整理,到成文发布,耗时一个多小时。等将来再回头看的时候,就会轻松很多了。

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

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

相关文章推荐

Mysql 5.7 主从复制的多线程复制配置方式以及读写分离中间件 MaxScale

mysql主从复制配置 配置思路 1. 修改master和slave的配置文件,使用二进制日志,指定serverid 目的是让各自都有了自己的唯一标示,并以二进制文件格式进行交流 2. master...

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

即建立新的Slave的方法 前面已经在文章“简单配置MySQL复制”中配置Slave时,没有说明复制从哪里开始,所以Slave是从头开始读取Master的binlog日志的。 但如果Master已经运...

mysql 的master-slave的搭建

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

mysql5.7.9主从同步配置

mysql5.7.9主从同步配置mysql579主从同步配置 环境 参考 配置 master配置 slave配置 master创建复制用户 获取master日志坐标 创建master数据快照 创建sa...

MySql 5.7 主从库配置方案(Master/Slave)

MySql 主从库配置方案 本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图...

MySQL 5.7 master slave 主从 复制

1.在master中创建replication slave 权限的用户192.168.0.1 master mysql 192.168.0.2 slave mysql 在master 和 s...

MYSQL-master-slave实践

前两天在一台电脑上安装了两个mysql,一个端口是3306,一个是3307。 然后配置这两个mysql数据库,测试 master 和 slave 。 我的测试环境是 windows下,所以...

MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践

MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践

MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践

MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践   原址如下: http://heylinux.com/archives/1004.html ...

MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践

MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践 Mysql作为目前世界上使用最广泛的免费数据库,相信所有从事系统运维的工程师都一定接触过。但在...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MySQL 5.7搭建Master-Slave实践
举报原因:
原因补充:

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