觉悟吧,少年!

——认真编码,认真生活!

MySQL 5.7搭建Master-Slave实践

背景

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

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

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wojiushiwo945you/article/details/75591222
文章标签: mysql master slave
个人分类: 简单东西
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭