搭建Mysql主从复制

本文详细介绍了如何在三台虚拟机上配置MySQL8的主从复制,包括设置不同服务器ID、修改配置文件、启动和停止复制,以及处理复制过程中遇到的错误,如加密规则不匹配和UUID冲突。通过解决这些问题,最终实现主从数据同步。
摘要由CSDN通过智能技术生成

主从复制

  1. 准备三台MySQL8数据库服务(使用虚拟机完成)
    通过Vmware链接克隆三台机器

  2. 启动三台机器
    master:192.168.0.109
    slave1:192.168.0.108
    slave2:192.168.0.110

  3. 通过CRT连接

  4. 搭建主从复制
    master、slave1、slave2修改默认配置文件

vim  /etc/my.cnf 

每个文件的id均不同,其它三样配置一样
master: server-id=1
slave1: server-id=3
slave2: server-id=5

server-id=1	#节点唯一标识,不要与其它节点重复
log-bin=mysql-bin #指定日志文件名字
log-slave-updates  #是否根据日志的变化同步数据
slave-skip-errors=all #从节点同步过程中是否跳过错误
  1. 重启Mysql服务检测配置是否生效
SHOW VARIABLES like 'server_id';
  1. 在master节点中执行如下命令:
show master status;

获取信息:

  • 日志文件名称 日志文件变化的位置
    mysql-bin.000002 | 156
  1. 在所有slave节点中执行如下命令:
change master to
master_host ='master节点ip',
master_user='Mysql用户名',
master_password='密码',
master_log_file='日志名称',
master_log_pos=日志变化的位置(数字);
# 下面是我的配置
change master to
master_host ='192.168.0.109',
master_user='root',
master_password='root',
master_log_file='mysql-bin.000002',
master_log_pos=156;
  1. 在从节点继续执行如下命令:
start slave; //开启主从复制
stop slave;//停止主从复制
  1. 查看主从复制是否成功,在从节点执行如下命令:
show slave status;
  1. 问题出现
    ①出现问题:Last_IO_Errno: 2061
    原因:加密方式和解密方式不一致
    解决:修改密码加密规则.进入mysql控制台
ALTER USER '用户名'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
FLUSH PRIVILEGES; //刷新权限

重启MySQL服务
Linux执行:

systemctl restart mysqld;

进入MySQL重启slave

mysql -uroot -proot
start slave
show slave status\G;

②接着又出现了一个问题:
Last_IO_Errno: 13117
因为主服务器和从属服务器具有相同的MySQL服务器UUID;这些UUID必须不同,复制才能工作
克隆的机器才会出现此问题
解决:删除掉这些UUID

rm -rf /var/lib/mysql/auto.cnf

然后重启:

reboot

重启之后查看状态:

mysql -uroot -proot
start slave
show slave status\G;
  1. 出现如下状态代表成功
    Slave_IO_Running: Yes
    Slave_SQL_Running: Yes
    在这里插入图片描述

然后,你去master里面的数据库进行修改,另外两个数据库的数据也会跟着同步。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值