win10+ubuntu20虚拟机配置MySQL主从复制

本文介绍了在Windows 10和Ubuntu 20的虚拟机环境下,如何配置MySQL的主从复制,以实现数据库的安全性和高可用性。详细步骤包括:开启主服务器的二进制日志,创建复制用的账户,获取主服务器的binlog信息;在从服务器上设置全局唯一的server-id,配置复制参数,并启动复制。通过这种方式,可以实现数据的实时同步,提高数据库的并发负载能力。

win10+ubuntu20虚拟机配置MySQL主从复制

在实际生产环境中,如果对mysql数据库的读和写都在一台数据库服务器中操作,无论是在安全性、高可用性,还是高并发等各个方面都是不能满足实际需求的,一般要通过主从复制的方式来同步数据,再通过读写分离来提升数据库的并发负载能力。
在这里插入图片描述
主从复制的流程:两个日志(binlog二进制日志&relay log日志)和三个线程(master的一个线程和slave的二个线程)

  1. 主库的更新操作写入binlog二进制日志中。
  2. master服务器创建一个binlog转储线程,将二进制日志内容发送到从服务器。
  3. slave机器执行START SLAVE命令会在从服务器创建一个IO线程,接收master的binary log复制到其中继日志。
    首先slave开始一个工作线程(I/O线程),I/O线程在master上打开一个普通的连接,然后开始binlog dump process,binlog dump process从master的二进制日志中读取事件,如果已经跟上master,它会睡眠并等待master产生新的事件,I/O线程将这些事件写入中继日志。
  4. sql slave thread(sql从线程)处理该过程的最后一步,sql线程从中继日志中读取事件,并重放其中的事件而更新slave机器的数据,使其与master的数据一致。只要该线程与I/O线程保持一致,中继日志通常会位于os缓存中,所以中继日志的开销很小。

主从复制环境准备

master和slave机器信息:
master(ubuntu20,MySQL8.0):192.168.243.129
slave(win10,MySQL5.7): 192.168.0.105

配置主从复制之前,需要在master和slave间保证网络的互通,并保证主服务器3306端口是开放的。
ping主服务器测试网络是否互通:
在这里插入图片描述
测试主服务器3306端口是否开放:
在这里插入图片描述
ping从服务器测试网络是否互通:
在这里插入图片描述

master配置

1、开启二进制日志,配置binlog和全局的server-id。
在MySQL配置文件 /etc/mysql/mysql.conf.d/mysqld.cnf打开log_bin和server-id,修改完成service mysql restart 重启MySQL。
binlog是否开启可通过
show variables like 'log_bin';
命令查看。
在这里插入图片描述
2、创建一个用于主从库通信用的账号
mysql> CREATE USER 'mslave'@'%' IDENTIFIED BY 'csj@8888';
mysql> GRANT REPLICATION SLAVE ON *.* to 'mslave'@'%';
mysql> FLUSH PRIVILEGES;

3、获取binlog的日志文件名和position
mysql> show master status;

slave配置:
1、配置全局唯一的server-id(不能和主服务器一样,涉及修改配置文件,需要重启mysql服务)
2、使用master创建的账户读取binlog同步数据
change master to master_host='192.168.243.129',master_user='mslave',master_password='csj@8888',master_log_file='mysql-bin.000002',master_log_pos=1275;(stop slave;start slave)
3、START SLAVE
通过show slave status\G命令查看主从复制状态。show processlist查看master和salve相关线程的运行状态。
在这里插入图片描述
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_200_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值