MySQL主从复制搭建及详解

主服务器:CentOS6.5下MySQL5.6.30
安装请参考这里网址: https://www.linuxidc.com/Linux/2018-08/153813.htm
从服务器:Win7下5.6.17

原理简介及优缺点

MySQL从3.23版本开始提供复制功能,复制主要是指将主服务器的DDL和DML操作,通过二进制日志(binLog日志),传到服务的服务器上,然后在从服务器上对这些日志从新执行,从而实现从服务器与主服务器的数据同步。MySQL支持一台主服务器同时向多台从服务器进行复制,从服务器同时也可以作为其他服务器的主服务器,实现链状的复制。

优点

如果主服务器出现问题,可以快速切换到从服务器提供服务。

可以在从服务器上执行查询,降低主服务器的压力

可以在从服务器上执行备份,以避免备份期间影响主服务器的性能

局限

由于MySQL实现的是异步复制,所以主从服务器之间的数据存在一定差异,对实时性要求高的数据仍然需要从主服务器上获得。

前期准备

1.在linux下创建账号
在win的命令提示符中输入ipconfig,查看ip

这里写图片描述


因为我的win下ip为192.168.153.1,所以,我创建将Host设置为192.168.153.%,关于原因,可参考这里

这里写图片描述


2.赋予权限

这里写图片描述


REPLICATION SLAVE权限针对所有的数据库,只能通过. ,而不能shool.*,因为REPLICATION SLAVE是复制binlog日志。

这里写图片描述


3.将主服务器中的数据,复制到从服务器,确保两者搭建主从之前,数据一致。关于这,之前写过一篇文章专门介绍,可以参考这里

配置 主服务器配置

1.开启binlog日志,并设置server_id

从服务器配置

1.配置server_id
设置:server-id=2

这里写图片描述


2.指定主服务器配置格式如下
change master to
master_host=’master_host_name’, //从服务器的主机
master_user=’replication_user_name’,//执行复制用户名
master_password=’replication_password’,//执行复制用户密码
master_log_file=’recorded_log_file_name’,//二进制日志文件名
master_log_pos=’recorded_log_postion’;//复制开始位置

根据我的配置信息
bin-log信息

这里写图片描述


复制用户信息

我执行的配置代码如下:
change master to
master_host=’192.168.153.140’,
master_user=’lidequan’,
master_password=’lidequan’,
master_log_file=’bin-log.000003’,
master_log_pos=120;

这里写图片描述

查看从服务器是否已连接主服务器 执行start slave;

执行show processlist;

这里写图片描述

修改主服务器数据,查看同步效果

在这里修改主服务器数据,主要是执行插入,更新操作。
操作之前,数据信息如下

这里写图片描述

执行插入操作

insert into `class` (`name`) values ('三年二班'),('三年五班'),('三年七班');

这里写图片描述


此时从服务器中也有数据了

这里写图片描述

执行更新操作

update class set `name`='三年三班' where id=3;

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/bce075b7b17a04c1b3ab54134044507e.html