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

Linux中Mysql5.7主从架构(一主多从)配置教程

  

🏡作者主页:点击! 

🐧Linux基础知识(初学):点击!

🐧Linux高级管理防护和群集专栏:点击!

🔐Linux中firewalld防火墙:点击!

⏰️创作时间:2024年7月24日14点10分

🀄️文章质量:93分


目录

1.所有节点配置

建立时间同步环境

主节点

从节点

2.MySQL数据库安装

3.配置传统复制的单主复制

主服务器 (master1)

从服务器 (master2)

4.测试主从同步


1.所有节点配置

  1. 配置IP地址、网关、DNS、主机名称
    通过适当的配置文件或命令设置网络相关信息,确保所有节点能正确互联互通。

  2. 停止并禁用防火墙

    setenforce 0
    systemctl stop firewalld
    systemctl disable firewalld
    

    这些命令用于关闭SELinux和防火墙,防止它们阻碍节点之间的通信。

  3. 下载所需组件

    yum groupinstall -y 'Development Tools'
    yum install -y lrzsz
    

    安装开发工具和文件传输工具,确保系统具备必要的开发和传输环境。

建立时间同步环境
主节点
  1. 安装NTP

    yum -y install ntp
    

    安装NTP服务以确保时间同步。

  2. 配置NTP

    vim /etc/ntp.conf
    

    添加如下两行:

    server 127.127.1.0
    fudge 127.127.1.0 stratum 8
    

    配置NTP服务以使用本地时间作为参考。

  3. 重启服务并设置为开机自动启动

    systemctl restart ntpd
    systemctl enable ntpd
    

    重启NTP服务并设置为开机自启动,以确保时间同步服务持续运行。

从节点
  1. 安装ntpdate

    yum install -y ntpdate
    

    安装ntpdate工具,用于手动同步时间。

  2. 同步时间

    ntpdate NTP服务器IP
    

    使用NTP服务器IP同步时间。例如:

    ntpdate 192.168.192.100
    

2.MySQL数据库安装

  1. 下载MySQL 5.7.29安装包

    wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar
    

    从官方源下载MySQL安装包。

  2. 解压并创建MySQL yum仓库

    mkdir /mysql57
    tar xf mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar -C /mysql57
    createrepo /mysql57
    

    解压安装包并创建本地YUM仓库。

  3. 配置yum仓库

    cat >> /etc/yum.repos.d/CentOS-mysql57.repo <<EOF
    [mysql57]
    name=mysql57
    enabled=1
    gpgcheck=0
    baseurl=file:///mysql57
    EOF
    

    配置本地yum仓库以便后续安装。

  4. 刷新yum并安装MySQL服务器

    yum clean all
    yum install -y mysql-server
    

    安装MySQL服务器。

  5. 启动并更改默认管理密码

    systemctl start mysqld
    grep "password" /var/log/mysqld.log  //获取默认密码
    mysqladmin -uroot -p password "Abc-1234"  //使用默认密码改密码
    

    启动MySQL服务并更改默认root用户的密码。

3.配置传统复制的单主复制

主服务器 (master1)
  1. 编辑MySQL配置文件

    vim /etc/my.cnf
    

    添加以下内容:

    [mysqld]
    server-id = 100
    log_bin = mysql-bin
    

    设置服务器ID和启用二进制日志。

  2. 重启MySQL服务

    systemctl restart mysqld
    

    重启MySQL服务以应用配置更改。

  3. 创建具有复制权限的用户

    mysql -uroot -pAbc-1234
    mysql -uroot -pAbc-1234 -e "GRANT REPLICATION SLAVE ON *.* TO 'repluser'@'192.168.192.%' IDENTIFIED BY 'Abc-1234'; 
    FLUSH PRIVILEGES;"
    

    创建用于复制的用户并授予必要权限。

  4. 查看主服务器状态

    SHOW MASTER STATUS\G;
    

    获取二进制日志文件和位置,用于配置从服务器。

从服务器 (master2)
  1. 编辑MySQL配置文件

    vim /etc/my.cnf
    

    添加以下内容:

    [mysqld]
    server-id = 2
    

    设置从服务器的ID。

  2. 重启MySQL服务

    systemctl restart mysqld
    

    重启MySQL服务以应用配置更改。

  3. 连接主服务器

    mysql -uroot -pAbc-1234
    CHANGE MASTER TO
    MASTER_HOST='192.168.192.100',
    MASTER_USER='repluser',
    MASTER_PASSWORD='Abc-1234',
    MASTER_PORT=3306,
    MASTER_LOG_FILE='mysql-bin.000002',
    MASTER_LOG_POS=740;
    

    根据主服务器状态配置从服务器的复制信息。

  4. 启动从服务器

    START SLAVE;
    
  5. 查看从服务器状态

    SHOW SLAVE STATUS\G;
    

    检查从服务器复制状态,确保成功连接并同步。

4.测试主从同步

在主服务器上创建数据库和表,并插入数据:

mysql> create database smqnz;
mysql> use smqnz;
mysql> create table test(age int);
mysql> insert into test values(1);
mysql> select * from test;
+------+
| age  |
+------+
|    1 |
+------+

在从服务器上检查数据是否同步:

mysql> select * from smqnz.test;
+------+
| age  |
+------+
|    1 |
+------+
1 row in set (0.00 sec)

以上操作确保了主服务器的数据成功复制到从服务器,实现了主从同步。

总结


通过本文的介绍,我们成功地在Linux系统中配置了MySQL数据库的主从复制,确保了数据的实时同步与备份。这不仅提高了数据的安全性,还为后续的扩展和维护提供了便利。希望读者能够运用所学知识,进一步探索和优化自己的数据库管理方案,为实现更高效的业务运营打下坚实的基础。

 成功的路上没有捷径,只有不断的努力与坚持。如果你和我一样,坚信努力会带来回报,请关注我,点个赞,一起迎接更加美好的明天!你的支持是我继续前行的动力!"

"每一次创作都是一次学习的过程,文章中若有不足之处,还请大家多多包容。你的关注和点赞是对我最大的支持,也欢迎大家提出宝贵的意见和建议,让我不断进步。"

神秘泣男子

相关文章:

Linux中Mysql5.7主从架构(一主多从)配置教程

&#x1f3e1;作者主页&#xff1a;点击&#xff01; &#x1f427;Linux基础知识(初学)&#xff1a;点击&#xff01; &#x1f427;Linux高级管理防护和群集专栏&#xff1a;点击&#xff01; &#x1f510;Linux中firewalld防火墙&#xff1a;点击&#xff01; ⏰️创作…...

BACnet物联网关BL103:Modbus协议转BACnet/MSTP

随着物联网技术在楼宇自动化与暖通控制系统中的迅猛发展&#xff0c;构建一种既经济高效又高度可靠的协议转换物联网关成为了不可或缺的核心硬件组件。在此背景下&#xff0c;我们钡铼特别推荐一款主流的BAS&#xff08;楼宇自动化系统&#xff09;与BACnet物联网关——BL103&a…...

Go 语言条件变量 Cond

1.Cond 的使用方法 Go 标准库提供 Cond 同步原语的目的是为等待/通知场景下的并发操作提供支持。Cond 通常用于等待某个条件的一组 goroutine,当条件变为 true 时,其中一个或者所有的 goroutine 会被唤醒执行。 Cond 与某个条件相关,这个条件需要一组 goroutine 协作达到。当这…...

PostgreSQL 中如何重置序列值:将自增 ID 设定为特定值开始

我是从excel中将数据导入&#xff0c;然后再通过sql插入数据&#xff0c;就报错。 需要设置自增ID开始值 1、确定序列名称&#xff1a; 首先&#xff0c;需要找到与的增字段相关的序列名称。假设表名是 my_table 和自增字段是 id&#xff0c;可以使用以下查询来获取序列名称…...

Unity 之 【Android Unity 共享纹理】之 Android 共享图片给 Unity 显示

Unity 之 【Android Unity 共享纹理】之 Android 共享图片给 Unity 显示 目录 Unity 之 【Android Unity 共享纹理】之 Android 共享图片给 Unity 显示 一、简单介绍 二、共享纹理 1、共享纹理的原理 2、共享纹理涉及到的关键知识点 3、什么可以实现共享 不能实现共享…...

Go语言的数据结构

数据结构 数组 支持多维数组&#xff0c;属于值类型&#xff0c;支持range遍历 例子&#xff1a;随机生成长度为10整数数组 package main import ("fmt""math/rand" ) // 赋值 随机获取100以内的整数 func RandomArrays() {var array [10]int //声明var…...

python_在sqlite中创建表并写入表头

python_在sqlite中创建表并写入表头 import sqlite3def write_title_to_sqlite(tableName,titleList,dataTypeGroupsList,database_path):conn sqlite3.connect(database_path)# 创建游标cursor conn.cursor()#MEMO 长文本#create_table_bodycreate_table_body "序号 …...

1.c#(winform)编程环境安装

目录 安装vs创建应用帮助查看器安装与使用&#xff08; msdn&#xff09; 安装vs 安装什么版本看个人心情&#xff0c;或者公司开发需求需要 而本栏全程使用vs2022进行开发c#&#xff0c;着重讲解winform桌面应用开发 使用***.net framework***开发 那先去官网安装企业版的vs…...

图中的最短环

2608. 图中的最短环 现有一个含 n 个顶点的 双向 图&#xff0c;每个顶点按从 0 到 n - 1 标记。图中的边由二维整数数组 edges 表示&#xff0c;其中 edges[i] [ui, vi] 表示顶点 ui 和 vi 之间存在一条边。每对顶点最多通过一条边连接&#xff0c;并且不存在与自身相连的顶…...

安装依赖 npm install idealTree:lib: sill idealTree buildDeps 卡着不动

我一直怀疑是网络问题&#xff0c;因为等了很久也能安装成功&#xff0c;就是时间比较长&#xff0c;直到现在完全受不了了&#xff0c;决定好好整治下这个问题&#xff01; 1、执行命令 npm config get userconfig 查看配置文件所在位置&#xff0c;将其删除。 2、执行 n…...

LLMs之Llama 3.1:Llama 3.1的简介、安装和使用方法、案例应用之详细攻略

LLMs之Llama 3.1&#xff1a;Llama 3.1的简介、安装和使用方法、案例应用之详细攻略 导读&#xff1a;2024年7月23日&#xff0c;Meta重磅推出Llama 3.1。本篇文章主要提到了Meta推出的Llama 3.1自然语言生成模型。 背景和痛点 >> 过去开源的大型语言模型在能力和性能上一…...

如何实现一个大模型在回答问题时同时提供相关内容链接

通义生成 为了让大模型在回答问题时能够提供相关内容链接&#xff0c;通常采用的方法是结合检索增强生成&#xff08;Retrieval-Augmented Generation, RAG&#xff09;的技术。这种方法可以让大模型在生成答案的同时&#xff0c;从外部知识源中检索相关信息&#xff0c;并将这…...

<数据集>玉米地杂草识别数据集<目标检测>

数据集格式&#xff1a;VOCYOLO格式 图片数量&#xff1a;9900张 标注数量(xml文件个数)&#xff1a;9900 标注数量(txt文件个数)&#xff1a;9900 标注类别数&#xff1a;2 标注类别名称&#xff1a;[Maize, Weed] 序号类别名称图片数框数1Maize8439125142Weed959231048…...

vue3中动态添加form表单校验

<template><div><div v-for"(formData, index) in forms" :key"index"><u-form :model"formData" :rules"rules" ref"formRefs"><u-form-item label"用户名" prop"username"…...

Java面试八股之什么是声明式事务管理,spring怎么实现声明式事务管理?

什么是声明式事务管理&#xff0c;spring怎么实现声明式事务管理&#xff1f; 声明式事务管理是一种编程范式&#xff0c;它允许开发人员通过声明性的配置或注解&#xff0c;而不是硬编码事务处理逻辑&#xff0c;来指定哪些方法或类应该在其上下文中执行事务。这种方法将事务…...

springboot 缓存预热的几种方案

缓存预热是指在 Spring Boot 项目启动时&#xff0c;预先将数据加载到缓存系统&#xff08;如 Redis&#xff09;中的一种机制。 这里我给大家总结几个缓存预热的方案。 方案1&#xff1a;使用启动监听事件实现缓存预热 可以使用 ApplicationListener 监听 ContextRefreshed…...

谷粒商城实战笔记-62-商品服务-API-品牌管理-OSS整合测试

文章目录 一&#xff0c;Java中上传文件到阿里云OSS1&#xff0c;整合阿里云OSS2&#xff0c;测试上传文件 二&#xff0c;Java中整合阿里云OSS服务指南引言准备工作1. 注册阿里云账号2. 获取Access Key3. 添加依赖 实现OSS客户端1. 初始化OSSClient2. 创建Bucket3. 上传文件4.…...

linux c 递归锁的介绍

递归锁的递归特性确实只是对于持有锁的线程。当一个线程获取了递归锁后&#xff0c;它可以多次重复获取该锁&#xff0c;而不会导致自身阻塞或死锁。这是递归锁的重要特点&#xff0c;它允许同一个线程在已经持有锁的情况下&#xff0c;再次获取相同的锁。 然而&#xff0c;对…...

React好用的组件库有哪些

React好用的组件库有很多&#xff0c;它们各自具有不同的特点和优势&#xff0c;适用于不同的开发场景和需求。以下是一些受欢迎的React组件库及其特点&#xff1a; Material-UI&#xff08;现更名为MUI&#xff09; 特点&#xff1a;这是一个开源的React组件库&#xff0c;实…...

简单快捷!Yarn的安装与使用指南

Yarn 是由 Facebook (现 Meta) 开发的包管理工具。 今天&#xff0c;我将介绍如何使用 Yarn。 目录 Yarn 的官方网站 关于安装 版本确认 开始一个新项目&#xff08;创建 package.json 文件&#xff09; 安装软件包 升级包 运行脚本 执行包的命令 卸载包 总结 Yarn 的…...

Iono系列工业PLC模块:Arduino生态的工业级演进

1. Iono Uno/MKR/RP 系统概述Iono 系列&#xff08;Iono Uno、Iono MKR、Iono RP&#xff09;并非传统意义的开发板&#xff0c;而是一套面向工业现场的可编程逻辑控制器&#xff08;PLC&#xff09;级输入/输出模块。其核心设计哲学是将 Arduino 生态的易用性、丰富库资源与工…...

bat批处理命令

一、 什么是 .bat 文件&#xff1f;.bat 文件是一个文本文件&#xff0c;里面包含了一系列 CMD&#xff08;命令提示符&#xff09; 命令。当你双击这个文件时&#xff0c;系统会按顺序逐条执行里面的命令。二、 如何开始&#xff1f;创建文件&#xff1a;新建一个文本文件&…...

香橙派Ubuntu镜像烧录与系统迁移实战指南

1. 香橙派与Ubuntu镜像的完美组合 香橙派作为国产开源硬件中的佼佼者&#xff0c;凭借其出色的性价比和丰富的接口&#xff0c;已经成为很多开发者和创客的首选。而Ubuntu作为最受欢迎的Linux发行版之一&#xff0c;以其稳定性和易用性赢得了大量用户的青睐。将这两者结合起来&…...

python vue基于hadoop的高校图书馆借阅阅读书目智慧推荐系统

目录技术架构设计数据采集与存储模块数据处理与分析模块推荐算法实现Vue前端开发系统部署方案测试与优化项目技术支持源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作技术架构设计 系统采用前后端分离架构&#xff0c;前端使用Vue.js框架开…...

老设备重生:老旧MacBook Pro系统升级完全指南

老设备重生&#xff1a;老旧MacBook Pro系统升级完全指南 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 老旧硬件适配是延长设备生命周期的关键挑战&#xff0c;而开源解…...

ESP32 BLE MTU 协商实战:从原理到手机端配置优化

1. 理解BLE MTU协商的核心概念 第一次接触BLE开发时&#xff0c;我也被MTU这个概念搞得一头雾水。简单来说&#xff0c;MTU&#xff08;Maximum Transmission Unit&#xff09;就像快递包裹的尺寸限制 - 它决定了每次传输能携带多少数据。在BLE通信中&#xff0c;默认的MTU只有…...

深入RISC-V调试模块:从硬件设计视角看DM、DTM与抽象命令的实现

RISC-V调试模块硬件架构深度解析&#xff1a;从状态机到抽象命令的工程实现 1. RISC-V调试系统的硬件架构全景 在RISC-V生态系统中&#xff0c;调试模块(Debug Module, DM)作为连接外部调试器与处理器核心的关键枢纽&#xff0c;其硬件设计直接决定了芯片的可调试性。与传统的…...

Visual C++运行时组件故障解决完全指南:从问题定位到能力提升

Visual C运行时组件故障解决完全指南&#xff1a;从问题定位到能力提升 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist Visual C运行时组件&#xff08;Microsof…...

LangChain实战:从零构建一个联网搜索增强的RAG问答系统

1. 为什么需要联网搜索增强的RAG系统 传统的RAG&#xff08;检索增强生成&#xff09;系统有个致命伤——它只能回答知识库里已有的内容。想象一下&#xff0c;你去年精心构建了一个旅游推荐系统&#xff0c;但今年新开的网红景点它完全不知道&#xff0c;因为数据没更新。这就…...

从素材到成片:AI 一站式极速输出——影视创作的新时代革命

在数字化浪潮席卷全球的今天&#xff0c;影视创作领域正经历着前所未有的变革。传统影视制作流程繁琐复杂&#xff0c;从素材采集、剪辑、特效添加到成片输出&#xff0c;往往需要耗费大量的人力、物力和时间。然而&#xff0c;随着人工智能&#xff08;AI&#xff09;技术的飞…...