0619-MySQL5.7.22主从配置

Fayson的github: https://github.com/fayson/cdhproject

推荐关注微信公众号:“Hadoop实操”,ID:gh_c4c535955d0f

1 文档编写目的

在生产环境中,数据库的主从配置是很有必要的,主从配置能提供数据源的备份,提供安全性方面的保障,从数据库也能减轻主数据库的访问压力,在出现故障时,也能减少损失。文档中会介绍MySQL5.7.22的主从配置步骤。

2 配置信息

操作系统:Red Hat 7.2
数据库版本:MySQL5.7.22
主节点:192.168.0.236
从节点:192.168.0.237
数据库用户名密码统一为root/!qQ123456
在配置过程中使用root用户进行操作

3 配置过程

3.1 Master/Slave配置

  • Master配置

修改主节点配置文件加入如下配置并重启服务:

vim /etc/my.cnf

log-bin=mysql-bin
server-id=236
binlog_format=MIXED

在这里插入图片描述
参数含义:

log-bin:开启二进制日志,日志文件前缀

server-id:数据库服务的唯一标识,不能重复

binlog_format=MIXED:记录二进制日志的格式,推荐使用MIXED

Slave配置

修改从节点配置文件加入如下配置并重启服务:

vim /etc/my.cnf

log-bin=mysql-bin
server-id=237

在这里插入图片描述

server-id和上面不能相同,是唯一的。

3.2 主从复制

  • 在主节点数据库中创建一个用户fftest

用户名:fftest密码:fftest

用户必须要有REPLICATION SLAVE权限,这样slave才能通过该用户进行复制。

GRANT REPLICATION SLAVE ON *.* TO 'fftest'@'192.168.0.%' IDENTIFIED BY 'fftest';
FLUSH PRIVILEGES;

在这里插入图片描述

  • 查看主节点MySQL二进制日志File与Position
show master status;

在这里插入图片描述

  • 在从节点数据库中执行如下命令进行同步,host为Master节点地址,file和pos为上一步中查看的Master的信息,执行完成后通过start slave启动同步。
change master to
master_host='192.168.0.236',
master_user='fftest',
master_password='fftest',
master_log_file='mysql-bin.000003',
master_log_pos=601;

start slave;

在这里插入图片描述

  • 查看从节点状态

在这里插入图片描述
上图标记部分为yes,表示主从复制构建成功

4 测试结果

  • 在主节点创建数据库testff,并新建表test1

在这里插入图片描述在这里插入图片描述

  • 向表中插入数据

在这里插入图片描述

  • 在从节点中成功查看到数据,主从构建测试成功

在这里插入图片描述

5 主从配置的补充

如果在主从配置之前,主数据库已经有了数据,可按照下列步骤进行配置。

1.查看主库已有数据

在这里插入图片描述
2.锁定主数据库

锁定后,只允许读取不允许写入,这样做的目的是防止备份过程中或备份完成后有新数据插入,导致备份数据与主数据不一致。

在这里插入图片描述

  • 备份数据

由于是做测试,所以只备份了fff,在生产/开发/测试环境中,请根据实际情况进行备份。

在这里插入图片描述

  • 从数据库导入数据

在这里插入图片描述

在这里插入图片描述

导入数据成功后,即可进行后续的主从配置,步骤与文档中的步骤一致即可。

6 总结

1.在主从配置过程中,数据库不可写入,否则会导致配置不成功。

2.在主节点数据库有数据的情况下,需要先对数据进行备份,然后导入到从数据库中,同时限制主节点数据库的写入操作,接下来才能进行主从的配置。

3.主从配置可以通过读写分离来实现服务器的负载均衡,同时通过数据的复制来实现数据的异地备份以及在主节点出现故障时,可以切换从节点继续提供数据上的服务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值