瑞吉外卖优化-主从复制, 主从复制怎么回事,Ubuntu怎么和Windows配置数据库主从复制

10 篇文章 0 订阅
3 篇文章 0 订阅

整理记录下学习整个瑞吉外卖项目,详细代码可在我的Gitee仓库瑞吉外卖实战克隆下载学习使用!

2. MySQL主从复制

2.1 介绍

MySQL主从复制是一个异步的复制过程,底层是基于MySQL数据库自带的二进制日志功能。即一台或多台MySQL数据库(slave从库)从另一台MySQL数据库(Master,主库)进行日志的复制,然后再解析日志并应用到自身,最终实现从库的数据和主库的数据保持一致。此功能是数据库自带功能,无需借助第三方工具。

2.2 步骤

  • master将改变记录到二进制日志(binary log)
  • slave将master的binary log拷贝到它的中继日志(relay log)
  • slave 重做中继日志中的时间,将改变应用到自己的数据库中
    ![[Pasted image 20230307232346.png]]

2.3 配置-前提条件

准备好两台机器。分别安装好MySQL并启动服务成功

  • 主库Master :127.0.0.1:3306
  • 从库 Slave:127.0.0.2:3308

2.4 配置主库Master

  • 修改MySQL数据库的配置文件my.cnf,这里主库是windows上的数据库,修改如图![[Pasted image 20230308182658.png]]
  • 重启主库服务,手动重启,linux则用命令service mysql restart即可。
  • 登录主库,Mysql 5.7 版本执行SQL语句:grant replication on *.* to 'xiaoming'@'%' identified by 'root@123456';MySQL 8.0版本执行语句:
    CREATE USER 'xiaoming'@'%' IDENTIFIED BY 'root@123456';GRANT ALL PRIVILEGES ON *.* TO 'xiaoming'@'%';
    ![[Pasted image 20230308183045.png]]
  • 登录主库,执行show master status,记录file和position值,如图
    ![[Pasted image 20230308210235.png]]

2.5 配置从库Slave(使用的Ubuntu)

  • 修改数据库配置文件my.cnf,配置与主库不一样的id,linux 命令vim /etc/mysql/mysql.conf.d/mysqld.cnf,i进入编辑,修改如图
    ![[Pasted image 20230308183920.png]]
  • 重启服务,如图![[Pasted image 20230308184017.png]]
  • 登录数据库,Mysql 8.0 版本执行语句change master to master_host='127.0.0.1',master_user='xiaoming',master_password='root@123456',master_log_file='mysql-bin.000003',master_log_pos=860,get_master_public_key=1;start slave;,如图![[Pasted image 20230308210404.png]]
  • 查看从库状态,用Navicat执行命令show slave status,如图![[Pasted image 20230308210425.png]]
  • 若提示不是上图,可在从库查看错误日志,命令vim /var/log/mysql/error.log
    如图![[Pasted image 20230308210751.png]]
    上图是因为没加get_master_public_key=1导致,8.0版本必须得加
    ![[Pasted image 20230308210904.png]]
    这里则是两库的server_id一样,可通过命令show variables like 'server_id';来查看,执行命令set global server_id=4来修改。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值