简单的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 TOMASTER_HOST='主服务器IP',MASTER_USER='repl',MASTER_PASSWORD='password',MASTER_LOG_FILE='主服务器上的File值',MASTER_LOG_POS=主服务器上的Position值;CHANGE MASTER TOMASTER_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):负责处理读操作,从主服务器复制数据以保持与主服务器数据的同步。


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

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【前端】打砖块游戏:实现细节介绍

打砖块游戏:实现细节介绍 在本文中,我将详细介绍如何使用HTML、CSS和JavaScript技术构建一个简单的打砖块游戏。我们将重点讨论游戏的三个核心技术方面:碰撞检测、画图和事件监听。 完整代码我放在:github可以直接拉取代码测试。 游戏概览 打砖块游戏中,玩家通过控制底…

vue-cropper裁剪图片 vue

效果图 1.配置环境 npm install vue-cropper 2.代码 <template><div class"cropper-content"><div class"cropper-box"><div class"cropper"><vue-cropper ref"cropper" :img"option.img" :…

C语言中数组与指针的区别

一. 简介 本文学习了 C语言中数组与指针的区别。这样的话&#xff0c;可以在编写C代码时规避掉出错的问题。 二. C语言中数组与指针的区别 1. 数组 定义字符串数组时&#xff0c;必须让编译器知道需要多少空间。 一种方法是用足够空间的数组存储字符串。例如如下&#xf…

【Vue】更换vue-element-admin左侧 logo

准备&#xff1a;目标svg格式的 logo&#xff0c;并将目标logo命名为 vuejs-fill.svg替换路径&#xff1a;/icons 文件夹下&#xff0c;覆盖掉原本的 vuejs-fill.svg 原因&#xff1a;配置项的logo设置的是 vuejs-fill

Linux中如何配置虚拟机网络(NAT方法)

首先我们要在Linux中找到配置文件的路径/etc/sysconfig/network-scripts/&#xff0c;然后找到配置文件的名称ifcfg-xxx&#xff08;如&#xff1a;ifcfg-ens33&#xff09;&#xff0c;然后打开这个文件内 容如下&#xff1a; TYPEEthernet # 指定网卡类型是以太网 BOOTPROT…

【ARM Cortex-M 系列 2.3 -- Cortex-M7 Debug event 详细介绍】

请阅读【嵌入式开发学习必备专栏】 文章目录 Cortex-M7 Debug eventDebug events Cortex-M7 Debug event 在ARM Cortex-M7架构中&#xff0c;调试事件&#xff08;Debug Event&#xff09;是由于调试原因而触发的事件。一个调试事件会导致以下几种情况之一发生&#xff1a; 进…

高级DBA手把手教你达梦8国产数据库级联更新语句用MergeInto合并代替方法(达梦官方手册无此内容)

高级DBA手把手教你达梦8国产数据库级联更新语句用MergeInto合并代替方法&#xff08;达梦官方手册无此内容&#xff09; 一、传统级联更新语句例子 举例&#xff1a; 表 1&#xff1a;T1 字段名类型A时间类型B字符类型C字符类型D字符类型E字符类型 表 2&#xff1a;T2 字…

Web开发三层架构

##Controller Service Dao(mapper) 软件设计&#xff1a;高内聚 低耦合 Controller 调用Service&#xff0c; Service调用 DAO 模块之间耦合 如果要从EmpServiceA切换到EmpServiceB&#xff0c;Controller代码也要修改 new EmpServiceB 分层接耦 容器中放EmpServiceA&am…

Transformer+Classification学习笔记

论文名称&#xff1a;An Image is Worth 16x16 Words:Transformers for Image Recognition at Scale [2112.11010] MPViT: Multi-Path Vision Transformer for Dense Prediction (arxiv.org) 参考博客与视频&#xff1a; Vision Transformer 超详细解读 (原理分析代码解读) …

H5 云商城 file.php 文件上传致RCE漏洞复现

0x01 产品简介 H5 云商城是一个基于 H5 技术的电子商务平台,旨在为用户提供方便快捷的在线购物体验。多平台适配:H5 云商城采用 H5 技术开发,具有良好的跨平台适配性。无论是在电脑、手机还是平板等设备上,用户都可以通过网页浏览器访问和使用云商城,无需安装额外的应用程…

WMS仓储管理系统如何让仓库管理有过程

在当今竞争激烈的商业环境中&#xff0c;WMS仓储管理系统的智能化与过程化管理显得尤为重要。一个具有过程管理的WMS仓储管理系统不仅能够帮助企业实时监控、分析和调度仓库作业&#xff0c;还能显著提升作业效率和成本控制能力。下面&#xff0c;我们就来深入探讨一下这种“有…

2024-05-10 Ubuntu上面使用libyuv,用于转换、缩放、旋转和其他操作YUV图像数据,测试实例使用I420ToRGB24

一、简介&#xff1a;libyuv 最初是由Google开发的&#xff0c;主要是为了支持WebRTC项目中的视频处理需求。用于处理YUV格式图像数据的开源库。它提供了一系列的函数&#xff0c;用于转换、缩放、旋转和其他操作YUV图像数据。 二、执行下面的命令下载和安装libyuv。 git clo…