简单的mysql主从复制搭建

文章目录

    • 准备工作
    • 用Docker安装MySQL
    • 主库配置【192.168.13.32】
    • 从库配置【192.168.13.108】
    • 小结

准备工作

用虚拟机提前准备两台服务器,并且在服务器中分别安装好MySQL,服务器的信息如下:

数据库IP
主节点192.168.13.32
从节点192.168.13.108

用Docker安装MySQL

# 创建mysql配置文件【挂载需要】
mkdir -p /docker/mysql/conf

# 创建配置文件
vim /docker/mysql/conf/mysql.cnf

# 添加
[mysqld]
server-id=1    
log-bin=mysql-bin 

# 密码为root
docker run -id --name mysql \
-v /docker/mysql/data:/var/lib/mysql \
-v /docker/mysql/conf:/etc/mysql/conf.d \
--restart=always \
--privileged=true \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=root \
mysql:8.0.22

主库配置【192.168.13.32】

第一步:修改配置文件

[mysqld]
server-id=1    
log-bin=mysql-bin  

在这里插入图片描述
第二步:重启MySQL

# docker restart id   【id是容器的id】
docker restart 6841e223f6b1

在这里插入图片描述

第三步:创建用于主从复制用户账号并授权

在MySQL数据库中,主从复制是一种常见的数据复制和备份方案,它允许将数据从一个主数据库服务器同步到一个或多个从数据库服务器上。在设置主从复制时,需要确保从服务器有权限连接到主服务器并复制数据

# 这里的ip是从节点的ip
CREATE USER 'zhangsan'@'192.168.13.108' IDENTIFIED BY 'root123';
GRANT REPLICATION SLAVE ON *.* TO 'zhangsan'@'192.168.13.108';

在这里插入图片描述

第四步:
show master status;

在这里插入图片描述

从库配置【192.168.13.108】

第一步:修改配置文件

[mysqld]
server-id=2

第二步:重启MySQL

第三步:进入容器登录MySQL,设置主库地址及同步位置

# 注意参数
CHANGE MASTER TO
  MASTER_HOST='主服务器IP',
  MASTER_USER='repl',
  MASTER_PASSWORD='password',
  MASTER_LOG_FILE='主服务器上的File值',
  MASTER_LOG_POS=主服务器上的Position值;

CHANGE MASTER TO
  MASTER_HOST='192.168.13.31',
  MASTER_USER='zhangsan',
  MASTER_PASSWORD='root123',
  MASTER_LOG_FILE='mysql-bin.000001',
  MASTER_LOG_POS=722
# 开启从库
START SLAVE;

# 查看从服务器复制状态,确保复制正常运行
SHOW SLAVE STATUS\G;

小结

MySQL主从复制是一种常见的数据库复制技术,用于在不同的MySQL数据库之间同步数据。这种配置通常包括一个主数据库(Master)和一个或多个从数据库(Slave)。

用于读写分离
主数据库服务器(Master):负责处理所有的写操作,保持数据的一致性。
从数据库服务器(Slaves):负责处理读操作,从主服务器复制数据以保持与主服务器数据的同步。


❤觉得有用的可以留个关注❤

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/624113.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用python开发的闭运算调试器

使用python开发的开运算调试器 简介效果代码 简介 用来调试闭运算效果的小工具,滑动条可以控制滤波核的大小,用来查看不同滤波核下的闭运算效果。 效果 代码 import sys from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QHBoxLayou…

MyBatis缓存的概念

缓存回顾 什么是缓存? 缓存就是内存中的数据,常常来自对数据库查询结果的保存。使用缓存可以避免频繁与数据库交互,进而提高 响应速度 。 MyBatis 对缓存的支持 MyBatis 也提供了对缓存的支持,分为 一级缓存 和 二级缓存。可以…

您的文件和驱动器上的“密码保护”有多安全?

某些行业(例如医疗保健、法律和公司)的人们在通过电子邮件发送文件时通常依赖密码保护,认为它可以提供足够的安全性来防止窥探。然而,对 PDF 或 Excel 文件进行简单的密码保护并不像看起来那样万无一失。 使用密码保护文件而不加…

稳态大面积光伏组件IV测试太阳光模拟器

稳态大面积光伏组件IV测试太阳光模拟器是太阳能光伏组件质量检测和评价的重要步骤之一。本文将介绍光伏组件IV测试的原理及标准板选择。 I. 光伏组件IV测试原理 光伏组件IV测试即电流电压特性测试,是评估光伏组件性能的重要手段。其测量的主要参数为组件的电流和电…

快速学习SpringAi

Spring AI是AI工程师的一个应用框架,它提供了一个友好的API和开发AI应用的抽象,旨在简化AI应用的开发工序,例如开发一款基于ChatGPT的对话应用程序。通过使用Spring Ai使我们更简单直接使用chatgpt 1.创建项目 jdk17 引入依赖 2.依赖配置 …

LeetCode394字符串解码

题目描述 给定一个经过编码的字符串,返回它解码后的字符串。编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格&#xf…

优选算法——双指针1

双指针 常⻅的双指针有两种形式,⼀种是对撞指针,⼀种是左右指针。 对撞指针:⼀般⽤于顺序结构中,也称左右指针。 对撞指针从两端向中间移动。⼀个指针从最左端开始,另⼀个从最右端开始,然后逐渐往中间逼 近…

品鉴中的品鉴笔记:如何记录和分享自己的品鉴心得

品鉴云仓酒庄雷盛红酒的过程,不仅是品尝美酒,更是一次与葡萄酒深度对话的旅程。为了更好地记录和分享自己的品鉴心得,养成写品鉴笔记的习惯是十分必要的。 首先,选择一个适合的记录工具。可以是传统的笔记本,也可以是…

linux性能监控之free

free:linux系统自带命令,显示内存状态,命令查询来源于/proc/meminfo 文件 [rootk8s-master ~]# free --helpUsage:free [options]Options:-b, --bytes show output in bytes-k, --kilo show output in kilobytes-m, --mega…

一文掌握gRPC

文章目录 1. gRPC简介2. Http2.0协议3. 序列化-Protobuf4. gRPC开发实战环境搭建5. gRPC的四种通信方式(重点)6. gRPC的代理方式7. SprintBoot整合gRPC 1. gRPC简介 gRPC是由google开源的高性能的RPC框架。它是由google的Stubby这样一个内部的RPC框架演…

HCIA和HCIP区别大吗?小白请看这

华为认证以其专业性和实用性受到了业界的广泛认可。 HCIA、HCIP、HCIP这三个级别,你会选哪个?IE含金量不用多说,IA还是IP,你会纠结吗。 但面对这两个级别的认证,初学者或者“小白”们可能会感到困惑:两者…

智能体Agent笔记

智能体的定义: 1. 可以感受环境中的动态条件 2. 能采取动作影响环境 3. 能运用推理能力理解信息,解决问题,产生推断,决定动作。 我个人觉得智能体是个饼,最核心的问题是,你如何解决大模型的幻觉问题&…

Kafka官方文档中文版+Kafka面试题详解!

你了解kafka吗?目前它在一线互联网公司以迅雷不及掩耳之势得到了广泛的应用。但究竟是什么呢?Kafka最初于2011年在LinkedIn开发,自那时起经历了很多改进。如今它是一个完整的平台,允许您冗余地存储荒谬的数据量,拥有一…

AD原理图设置:如何在编译工程时,报未连接线或引脚错误

如下图,AD默认在编译原理图时,如果出现未连接的引脚或线时,并不会报相关的错误,这样做其实很危险 所以,我们应该让它提示错误 具体配置方法: 1、找到工程选项 2、切换到第二个选项“Connection Matrix”&a…

RedisTemplate操作Redis详解之连接Redis及自定义序列化

连接到Redis 使用Redis和Spring时的首要任务之一是通过IoC容器连接到Redis。为此,需要java连接器(或绑定)。无论选择哪种库,你都只需要使用一组Spring Data Redis API(在所有连接器中行为一致):…

游戏中的设计模式一

游戏开发是一个快速迭代的过程,代码复杂度也很高,借助于设计模式,可以帮助我们降低复杂度,降低系统间的耦合,从而高效高质的做出交付。 最近读了这本书:《游戏编程模式》[1],很受启发&#xff…

探索Playwright:Python下的Web自动化测试革命

在如今这个互联网技术迅速发展的时代,web应用的质量直接关系着企业的声誉和用户的体验。因此,自动化测试成为了保障软件质量的重要手段之一。今天,我将带大家详细了解一款在测试领域大放异彩的神器——Playwright,并通过Python语言…

【搬砖实战】2024年了,还有人不会搭建内网穿透吗?

😊你好,我是小航,一个正在变秃、变强的文艺倾年。 🔔本文讲解动手自己搭建内网穿透,期待与你一同探索、学习、进步,一起卷起来叭! 目录 一、前言内网穿透是什么?frp介绍&#xff1a…

Golang SDK安装

windows环境安装 1.链接: 下载地址 2.安装SDK 检查环境变量: 3.开启go modules,命令行执行一下命令: go env -w GO111MODULEon4.设置国内代理,命令行执行一下命令: go env -w GOPROXYhttps://proxy.golang.com.cn,https:/…

【Linux】进程信号(2万字)

目录 前言 一、生活角度的信号 1.1、我们来见一见信号: 1.2、模拟一下 kill 指令 二、信号的处理 三、产生信号的5种方法 3.1、kill命令 3.2、键盘可以产生信号 3.3、3种系统调用 3.4、软件条件 3.5、异常 四、比较 core 和 Term 五、键盘信号产生 六…