当前位置: 首页 > news >正文

小白成长之路-mysql数据基础(三)

文章目录

  • 一、主从复制
  • 二、案例
  • 总结


一、主从复制

在这里插入图片描述

1、master开启二进制日志记录2、slave开启IO进程,从master中读取二进制日志并写入slave的中继日志3、slave开启SQL进程,从中继日志中读取二进制日志并进行重放4、最终,达到slave与master中数据一致的状态,我们称作为主从复制的过程

二、案例

1.前提:实验开始前

systemctl disable --now firewalld
setenforce 0

保证主机和丛机的时间一致:

timedatectl set-timezone Asia/shanghai
主机和丛机都需要配置:

vim /etc/chrony.conf 

在这里插入图片描述
重启服务:

systemctl restart chronyd.service

2.在主机上创建一个账户并赋予权限
在这里插入图片描述
3.打开二进制文件

vim /etc/my.cnf.d/mysql-server.cnf

主机在这里插入图片描述
从机
在这里插入图片描述
4.主机变为从机(在没有改变前,从机也是主机)
主机;
在这里插入图片描述
从机:其中master_log_file和master_log_pos均来自于主机的状态

change master to master_host=‘192.168.144.129’,master_user=‘slave’,master_password=‘123’,master_log_file=‘binlog.000014’,master_log_pos=706;

在这里插入图片描述
从机验证:
在这里插入图片描述
这两个地方必须都是yes才代表成功
如果出现

ALTER USER ‘slave’@‘192.168.144.%’ IDENTIFIED WITH mysql_native_password BY ‘123’;
ERROR 1227 (42000): Access denied; you need (at least one of) the SYSTEM_USER privilege(s) for this operation

问题原因
在MySQL 8.0+版本中:

修改其他用户的认证插件需要 SYSTEM_USER 权限
普通用户即使有 CREATE USER 权限也无法修改其他用户的认证方式
修改方案:

主机:

CREATE USER 'slave_new'@'192.168.144.%' IDENTIFIED WITH mysql_native_password BY '123';
GRANT REPLICATION SLAVE ON *.* TO 'slave_new'@'192.168.144.%';
FLUSH PRIVILEGES;

从机:

mysql> STOP SLAVE;
Query OK, 0 rows affected, 1 warning (0.00 sec)mysql> CHANGE MASTER TO MASTER_USER='slave_new', MASTER_PASSWORD='123',master_log_file='binlog.000014',master_log_pos=1569;
Query OK, 0 rows affected, 7 warnings (0.01 sec)

验证:
主机上创建个数据库
在这里插入图片描述
从机上可以看到:

在这里插入图片描述

总结

以上就是mysql的主从分离,后续会补充上读写分离

http://www.lryc.cn/news/581587.html

相关文章:

  • stm32地址偏移:为什么相邻寄存器的地址偏移量0x04表示4个字节?
  • 【JS逆向基础】数据分析之XPATH
  • android 获取手机配对的蓝牙耳机的电量
  • 【PyTorch】PyTorch中torch.nn模块的池化层
  • 全能视频处理工具介绍说明
  • [shad-PS4] docs | 内核/系统服务 | HLE-高等级模拟
  • Spark流水线数据质量检查组件
  • UNet改进(16):稀疏注意力(Sparse Attention)在UNet中的应用与优化策略
  • Redis集群和 zookeeper 实现分布式锁的优势和劣势
  • 物联网实施与运维【路由器/网关配置】+智能楼道系统
  • python库 dateutil 库的各种案例的使用详解
  • 【Note】《Kafka: The Definitive Guide》第三章: Kafka 生产者深入解析:如何高效写入 Kafka 消息队列
  • Android studio在点击运行按钮时执行过程中输出的compileDebugKotlin 这个任务是由gradle执行的吗
  • 升级AGP(Android Gradle plugin)和gradle的版本可以提高kapt的执行速度吗
  • 【python】对纯二进制向量(仅包含 0 和 1,长度为 8 或 16)的检测和提取
  • 基于腾讯云开发与“人·事·财·物”架构理念的家政预约小程序设计与实现
  • 【Python练习】030. 编写一个函数,实现字符串的反转
  • Python 中 ffmpeg-python 库的详细使用
  • 一条 SQL 语句的内部执行流程详解(MySQL为例)
  • 2025 JuniorCryptCTF re 部分wp
  • 重力翻转者:原创趣味小游戏
  • 前端开发常见问题(从布局到性能优化)
  • 【libm】 10 rem_pio2函数 (rem_pio2.rs)
  • 人工智能之数学基础:线性回归算法的矩阵参数求导
  • 传统微商困境与开源链动2+1模式、AI智能名片及S2B2C商城小程序的转型破局
  • AUTOSAR进阶图解==>AUTOSAR_SWS_V2XFacilities
  • Hadoop MapReduce 入门
  • Hadoop高可用集群搭建
  • k8s-服务发布基础
  • 小菜狗的云计算之旅,学习了解rsync+sersync实现数据实时同步(详细操作步骤)