MySQL(8)主从复制详细过程
文章目录
- MySQL(8)主从复制详细过程
-
- 介绍
- 前置条件
- 主库配置(master)
- 从库配置(slave)
- 测试
- 注意:下面过程也可以直接在Linux服务器上登录MySQL进行操作
- 注意事项:
介绍
MySQL主从复制是一种数据同步技术,将一个MySQL数据库从一个服务器(称为主服务器)复制到其他服务器(称为从服务器)。在这个过程中,主服务器(master)将写操作记录在二进制日志中,并将日志传输到从服务器(slave),从服务器(slave)则将其重做,保持与主服务器(master)数据的同步。MySQL支持一台主库同时向多台从库进行复制,从库同时也可以作为其他从服务器的主库,实现链状复制。MySQL主从复制是MySQL数据库自带的功能,无需借助第三方工具。
MySQL主从复制原理图过程如下:
![](https://img-blog.csdnimg.cn/2de2897157244aad97d7c664867c4018.png)
MySQL主从复制过程分成三步:
1、master将改变记录到二进制日志 (binary log)。
2、slave将master的binary log拷贝到它的中继日志 (relay log)。
3、slave重新执行中继日志中的事件,将执行的事件应用到自己的数据库中。
需要注意的是,因为MySQL主从复制是异步进行的,所以在数据同步期间可能会存在一些延迟。此外,需要确保主服务器和从服务器的MySQL版本号相同,以免出现不兼容的问题。
前置条件
本次教程的主库IP地址为:192.168.188.188
本次教程的从库IP地址为:192.168.188.189
1、首先提前准备好两台(或者多台)Linux服务器,要求主服务器(master)与从服务器(slave)的IP地址、数据库中的server_uuid以及虚拟机的MAC地址不能相同
1.1 分别查看主服务器虚拟机与从服务器虚拟机的MAC地址是否相同(相同则修改任意一个虚拟机的MAC地址即可)
如何修改虚拟机的MAC地址的相关操作可看这里:https://blog.csdn.net/weixin_56817591/article/details/131075423?spm=1001.2014.3001.5501
1.2分别查看主服务器(master)与从服务器(slave)的IP地址是否相同(相同则修改任意一个Linux服务器IP地址即可)
ifconfig #查看本地IP地址
如何修改Linux服务器的IP地址的相关操作可看这里:https://blog.csdn.net/weixin_56817591/article/details/131075423?spm=1001.2014.3001.5501
1.3 分别查看主服务器(master)与从服务器(slave)MySQL数据库中server_uuid是否相同
登录主服务器管理员MySQL数据库
mysql -uroot -p密码
执行SQL语句,查看server_uuid中的值是否相同
show variables like '%server_uuid%';
通过上面图片,发现他们相同(不相同则跳过)则删除任意一个Linux服务器MySQL数据库中的server_uuid,并重新启动被删除的MySQL服务
按Ctrl+d退出MySQL登录,执行下面语句
rm -rf /var/lib/mysql/auto.cnf #删除MySQL数据库中的server_uuid,删除后重启MySQL服务会自动生成新的server_uuid
systemctl restart mysqld #重启MySQL服务
[Linux拓展]:MySQL服务相关操作
#按Ctrl+d可退出MySQL登录
systemctl stop mysqld #停止MySQL