MySQL复制拓扑1

news2024/10/7 15:29:41

文章目录

主要内容

  1. 本实验的操作需同时在三台主机上进行,因此要确保各个主机上的 MySQL 服务器都正常运行,同时各主机之间的网络均可相互访问。
    预备知识
    MySQL主从复制是MySQL数据库中常用的一种高可用性和数据备份方案,它可以将主数据库的数据同步到从数据库,从而实现数据的备份和读写分离。下面是MySQL主从复制的详细原理及工程实现:
    1. 主从复制的原理:

主从复制的原理是通过在主数据库上记录所有的数据变更操作(如INSERT、UPDATE、DELETE)并将这些操作记录在二进制日志(Binary Log)中,然后从数据库通过读取主数据库的二进制日志来获取这些数据变更操作,并在从数据库上执行相同的操作,从而保持从数据库和主数据库的数据一致性。

一.安装MySQL服务器

1.MySQL 安装程序和其它文件保存在下发的 mysql8-files.iso 镜像文件中,可以使用虚拟光驱来提取到 Linux 文件系统。

在这里插入图片描述
在这里插入图片描述
在 server1 创建光盘镜像的挂载目录/mnt/cdrom,然后从挂载目录复制到根目录:

代码如下(示例):
 mkdir /mnt/cdrom
 mount /dev/cdrom /mnt/cdrom
 cp -R /mnt/cdrom/stage /

在这里插入图片描述

2.将 MySQL8.0 程序解压到 /opt 目录,再创建到 MySQL 默认安装目录 /usr/local/mysql 的软连接,访问默认安装目录时就会连接到实际的安装目录,这种方法非常方便后续软件版本升级:

代码如下(示例):
cd /opt
tar xf /stage/mysql-commercial-8*.tar.gz
ln -s /opt/mysql* /usr/local/msql
ls /usr/local/mysql/bin

在这里插入图片描述

3.将 mysql 客户机和使用程序的路径添加到 PATH 系统环境变量中,以便随时使用这些程序。

使用 vim 打开 root 用户的.bashrc 配置文件,添加 export PATH=$PATH:/usr/local/mysql/bin:
在这里插入图片描述
source ~/.bashrc 使修改在当前 shell 立即生效。

4.接着复制已经编写好的my.cnf配置文件到系统默认位置 /etc目录,并添加mysql用户,将来MySQL8 数据库服务器属于 mysql 所拥有,adduser-r 选项会创建一个非登录账户,以利于安全考虑

代码如下(示例):
cp /stage/my.cnf /etc/my.cnf
adduser -r mysql

在这里插入图片描述

5.接下来使用 mysqld –initialize 命令创建数据库

接下来使用 mysqld –initialize 命令创建数据库,该命令会在默认的数据目录 /var/lib/mysql 目录生成新数据库运行所必须的文件,包括三个系统数据库目录:msyqlperformance_schema、sys;innodb
存储引擎的系统表空间文件;服务器和客户端的 ssl 加密公钥和私钥文件;重做日志文件;还原表空间文件等。
在建库的同时,该命令还给 MySQL 服务器的最高管理账户 root 生成了一个临时口令,在初次登陆时需要重置 root 口令,否则不能执行进一步的操作。记录下该临时口令备用

代码如下(示例):
mysqld --initialize
ls /var/lib/mysql/

在这里插入图片描述

6.由于 pid-file 选项引用的是 /var/run/mysqld 目录,但该目录尚不存在,创建该目录并将其所有权授予 mysql 用户和组。

代码如下(示例):
cat /etc/my.cnf
mkdir /var/run/mysqld
chown mysql:mysql /var/run/mysqld/

在这里插入图片描述

7.现在就可以启动 mysqld 服务器进程,& 选项指示在后台运行:

代码如下(示例):
mysqld_safe &

在这里插入图片描述

8.为了能从 server1 主机上的 Linux 客户机访问 mysqld 服务器进程,需要配置 client 的 socket 选项,使用 vim 打开 /etc/my.cnf 配置文件,添加如下代码,保存退出。

在这里插入图片描述

9.使用 mysql 客户机以 root 用户登陆,输入建库时系统生成的临时口令 r7)k+DBJXe

代码如下(示例):
mysql -uroot -p

在这里插入图片描述

10.输入 ALTER USER USER() IDENTIFIED BY ‘oracle’; 语句重置 root 口令后,才能正常执行数据库操作:

代码如下(示例):
ALTER USER USER() IDENTFIDE BY 'oracle';

在这里插入图片描述

11.最后,配置 mysqld 系统服务,以便可以使用 Linux 操作系统的 systemctl 命令来管理 mysqld 服务。关闭 mysqld 服务:

代码如下(示例):
mysqladmin -uroot -p shutdown

在这里插入图片描述

12.复制 mysqld.service 服务配置文件到 systemd 系统目录,启用即可:

代码如下(示例):
cp /stage/mysqld.service /usr/lib/systemd/system
systemctl enable mysqld.service
systemctl starrt mysqld
systemctl status mysqld

ps aux | grep mysqld

在这里插入图片描述
在这里插入图片描述


总结

以上是今天要讲的内容,学到了MySQL复制拓扑的MySQL服务器配置。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

08 Python进阶:XML 解析

什么是 XML? XML(可扩展标记语言,Extensible Markup Language)是一种用于表示和传输数据的标记语言。它被设计用来以一种结构化的形式描述文档的内容,并且具有良好的跨平台和跨语言的特性。XML使用标签来定义数据的结构…

PyTorch之计算模型推理时间

一、参考资料 如何测试模型的推理速度 Pytorch 测试模型的推理速度 二、计算PyTorch模型推理时间 1. 计算CPU推理时间 import torch import torchvision import time import tqdm from torchsummary import summarydef calcCPUTime():model torchvision.models.resnet18()…

深入浅出 -- 系统架构之分布式多形态的存储型集群

一、多形态的存储型集群 在上阶段,我们简单聊了下集群的基本知识,以及快速过了一下逻辑处理型集群的内容,下面重点来看看存储型集群,毕竟这块才是重头戏,集群的形态在其中有着多种多样的变化。 逻辑处理型的应用&…

线程池详解并使用Go语言实现 Pool

写在前面 在线程池中存在几个概念:核心线程数、最大线程数、任务队列。 核心线程数指的是线程池的基本大小;也就是指worker的数量最大线程数指的是,同一时刻线程池中线程的数量最大不能超过该值;实际上就是指task任务的数量。任务…

9_springboot_shiro_jwt_多端认证鉴权_整合jwt

1. Shiro框架回顾 到目前为之,Shiro框架本身的知识点已经介绍完了。web环境下,整个框架从使用的角度我们需要关注的几个点: 要使用Shiro框架,就要创建核心部件securityManager 对象。 SpringBoot项目中,引入shiro-spr…

python接入AI 实现微信自动回复

import numpy as np # 引入numpy库,目的是将读取的数据转换为列表 import pandas as pd # 引入pandas库,用来读取csv数据 from uiautomation import WindowControl # 引入uiautomation库中的WindowControl类,用来进行图像识别和模拟操作 i…

go | 上传文件分析 | http协议分析 | 使用openssl 实现 https 协议 server.key、server.pem

是这样的&#xff0c;现在分析抓包数据 test.go package mainimport ("fmt""log""github.com/gin-gonic/gin" )func main() {r : gin.Default()// Upload single filer.MaxMultipartMemory 8 << 20r.POST("/upload", func(c *g…

Apache Log4j2 Jndi RCE CVE-2021-44228漏洞原理讲解

Apache Log4j2 Jndi RCE CVE-2021-44228漏洞原理讲解 一、什么是Log4j2二、环境搭建三、简单使用Log4j2四、JDNI和RMI4.1、启动一个RMI服务端4.2、启动一个RMI客户端4.3、ldap 五、漏洞复现六、Python批量检测 参考视频&#xff1a;https://www.bilibili.com/video/BV1mZ4y1D7K…

基于Socket简单的TCP网络程序

⭐小白苦学IT的博客主页 ⭐初学者必看&#xff1a;Linux操作系统入门 ⭐代码仓库&#xff1a;Linux代码仓库 ❤关注我一起讨论和学习Linux系统 TCP单例模式的多线程版本的英汉互译服务器 我们先来认识一下与udp服务器实现的不同的接口&#xff1a; TCP服务器端 socket()&…

【C++初阶】String在OJ中的使用(一):仅仅反转字母、字符串中的第一个唯一字母、字符串最后一个单词的长度、验证回文串、字符串相加

前言&#xff1a; &#x1f3af;个人博客&#xff1a;Dream_Chaser &#x1f388;博客专栏&#xff1a;C &#x1f4da;本篇内容&#xff1a;仅仅反转字母、字符串中的第一个唯一字母、字符串最后一个单词的长度、验证回文串、字符串相加 目录 917.仅仅反转字母 题目描述&am…

【stm32】软件I2C读写MPU6050

软件I2C读写MPU6050(文章最后附上源码) 编码 概况 首先建立通信层的.c和.h模块 在通信层里写好I2C底层的GPIO初始化 以及6个时序基本单元 起始、终值、发送一个字节、接收一个字节、发送应答、接收应答 写好I2C通信层之后&#xff0c;再建立MPU6050的.c和.h模块 基于I2C通…

软考116-上午题-【计算机网络】-LINUX命令

一、真题 真题1&#xff1a; 真题2&#xff1a; 权限通常分为三类&#xff1a; 读&#xff08;r&#xff09;&#xff1a;允许读取文件内容或列出目录内容。写&#xff08;w&#xff09;&#xff1a;允许修改文件内容或在目录中创建/删除文件。执行&#xff08;x&#xff09;&…

stm32开发之threadx使用记录(主逻辑分析)

前言 threadx的相关参考资料 论坛资料、微软官网本次使用的开发板为普中科技–麒麟&#xff0c;核心芯片为 stm32f497zgt6开发工具选择的是stm32cubemx(代码生成工具)clion(代码编写工具)编译构建环境选择的是arm-none-gcc编译 本次项目结构 CMakeList对应的配置 set(CMAKE_…

SD-WAN国际网络专线:高效、合规且可靠的跨境连接解决方案

在数字化时代&#xff0c;企业对跨境网络连接的需求日益增长。SD-WAN技术作为一种新兴的解决方案&#xff0c;正逐渐成为构建跨境网络连接的首选。本文将探讨SD-WAN国际网络专线的发展现状、合规性要求以及选择时需要考虑的关键因素。 SD-WAN技术&#xff1a;跨境网络连接的新…

如何在没有备份的情况下从 iPad 恢复照片?

有很多操作都可能导致iPad照片丢失&#xff0c;包括误删除、出厂设置、iPad的iOS更新等。如果没有备份&#xff0c;似乎没有办法找回它们。然而&#xff0c;即使您将备份保留在 iCloud 或iTunes上&#xff0c;这些方式也需要您的 iPad 首先重置&#xff0c;从而用备份内容覆盖当…

堆排序解读

在算法世界中&#xff0c;排序算法一直是一个热门话题。推排序&#xff08;Heap Sort&#xff09;作为一种基于堆这种数据结构的有效排序方法&#xff0c;因其时间复杂度稳定且空间复杂度低而备受青睐。本文将深入探讨推排序的原理、实现方式&#xff0c;以及它在实际应用中的价…

lua学习笔记5(分支结构和循环的学习)

print("*****************分支结构和循环的学习******************") print("*****************if else语句******************") --if 条件 then end a660 b670 --单分支 if a<b thenprint(a) end --双分支 if a>b thenprint("满足条件")…

机器学习模型——逻辑回归

https://blog.csdn.net/qq_41682922/article/details/85013008 https://blog.csdn.net/guoziqing506/article/details/81328402 https://www.cnblogs.com/cymx66688/p/11363163.html 参数详解 逻辑回归的引出&#xff1a; 数据线性可分可以使用线性分类器&#xff0c;如果…

c# wpf LiveCharts 简单试验

1.概要 1.1 说明 1.2 环境准备 NuGet 添加插件安装 2.代码 <Window x:Class"WpfApp3.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d"…

WindowsPowerShell安装配置Vim的折腾记录

说明 vim一直以来都被称为编辑器之神一样的存在。但用不用vim完全取决于你自己&#xff0c;但是作为一个学计算机的同学来说&#xff0c;免不了会和Linux打交道&#xff0c;而大部分的Linux操作系统都预装了vim作为编辑器&#xff0c;如果是简单的任务&#xff0c;其实vim只要会…