MySQL 5.7搭建Master-Slave实践
2017-07-21 09:28
302 查看
背景
理解了MySQL的Master-Slave的基本原理后,就想在本地虚拟机上实践一下。开启虚拟机上的两个节点,主库Ip为192.168.x.164,从库Ip为192.168.x.170,分别安装相同版本的MySQL 。同时参考http://www.cnblogs.com/jirglt/p/3549047.html这篇文章,完成Master-Slave的实践操作。主从参数配置
第一步,配置masterssh连接主库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 搭建基本的 master/salve
- Windows 上 LAMP 环境 搭建 (MySQL5.7+PHP7+Apache2.4)
- Windows下搭建MySQL Master Slave[转]
- 搭建lnmp环境(mysql5.7-yum)
- mysql 的master-slave的搭建
- 搭建MySql的Master/Slave架构
- mysql master slave 搭建
- Windows下搭建MySQL Master Slave
- PHP专题解剖(001):搭建开发环境(Apache2.4+MySQLxampp 5.7+php7.1.5)
- Windows下搭建MySQL Master Slave
- mysql 5.7 docker 主从复制架构搭建教程
- mysql 5.7 for win 7 主从搭建 -单机多实例
- 两主机搭建MySQL主从复制后,show slave status显示:Last_IO_Error: error connecting to master ……
- MySql5.7环境搭建
- 从零搭建CentOS7 Java开发环境(JDK1.8,MySQL 5.7,Redis3.2,Tomcat8.5)
- 【MySQL】搭建MySQL的Master/Slave架构
- MYSQL搭建双master-slave环境一系列问题
- 搭建MySQL的Master/Slave架构
- 使用docker容器快速搭建mysql5.7
- Ubuntu Clion MySQL 5.7 源码调试环境搭建