MySQL复制拓扑1

文章目录

主要内容

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

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

一.安装MySQL服务器

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

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

代码如下(示例):
 mkdir /mnt/cdrommount /dev/cdrom /mnt/cdromcp -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 mysqldps aux | grep mysqld

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


总结

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

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

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

相关文章

【Easy云盘 | 第十二篇】分享模块(获取分享信息、校验分享码、获取文件列表)

文章目录 4.4.4获取分享信息4.4.5校验分享码4.4.6获取文件列表 4.4.4获取分享信息 明天做 4.4.5校验分享码 明天做 4.4.6获取文件列表 明天做

Python 接口测试之Excel表格数据操作方法封装

引言 我们在做接口测试,经常会用到excel去管理测试数据,对Excel的操作比较频繁,那么使用python如何操作Excel文件的读与写呢?由于之前讲的都是大的框框,没有讲这么小的模块使用,现在就化整为0的讲解。 读…

mysql服务启动失败

打开mysql_error.log,滑到最底部,发现报错信息如下: 报错信息: 2024-04-07 16:57:38 0 [Note] Server socket created on IP: ::. 需要用到的文件: 解决办法: 1. 复制C:\xampp\mysql\data文件夹【复制到桌…

51-37 由浅入深理解 Stable Diffusion 3

2024年3月5日,Stability AI公开Stable Diffusion 3论文,Scaling Rectified Flow Transformers for High-Resolution Image Synthesis。公司像往常一样承诺后续将开源代码,开源之光!!! 在LDW潜在扩散模型论文…

无监督学习简介

无监督学习简介 一、定义和核心概念 无监督学习的定义 无监督学习是机器学习的一个关键分支,它涉及到从未标注数据中学习和提取信息。不同于其他学习类型,无监督学习的数据集没有提供任何显式的输出标签或结果。因此,这种学习方法的主要任务…

怀俄明探空站数据解算PWV和Tm

1. Matlab 获取代码可关注公众号WZZHHH回复(怀俄明探空站数据解算PWV和Tm),或者咸鱼关注:WZZHHH123 怀俄明探空站数据解算PWV和Tm: 有关 Matlab 获取代码可关注公众号WZZHHH回复(怀俄明多线程下载&#…

SpringBoot属性配置的多种方式

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉🍎个人主页:Leo的博客💞当前专栏: 循序渐进学SpringBoot ✨特色专栏: MySQL学习 🥭本文内容:SpringBoot属性配置的多种方式 📚个人知识库: Leo知识库,欢迎大家访问 目录 …

如何不编程用 ChatGPT 爬取网站数据?

敢于大胆设想,才能在 AI 时代提出好问题。 需求 很多小伙伴,都需要为研究获取数据。从网上爬取数据,是其中关键一环。以往,这都需要编程来实现。 可最近,一位星友在知识星球提问: 这里涉及到一些个人隐私&a…

基于SSM框架实现的在线心理评测与咨询系统(技术栈 spring+springmvc+mybatis+jsp+jquery+css)

一、项目简介 本项目是一套基于SSM框架实现的在线心理评测与咨询系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试&am…

[深度学习] 无人车环境准备

1. 安装过程基本遵循以下步骤 电脑端环境配置 - OriginBot智能机器人开源套件 需要注意以下两点: 1> 由于深度学习需要的包和镜像体积都比较大,所以虚拟机硬盘大小建议120GB 2> 虚拟机的网络适配器应该设置为桥接模式,如果使用NAT模…

考研||考公||就业||其他?-------愿不再犹豫

大三下了,现在已经开学一个多月了,在上个学期的时候陆陆续续吧周围有的行动早的人已经开始准备考研了,当然这只是下小部分人吧,也有一部分人是寒假可能就开始了,更多的则是开学的时候,我的直观感受是图书馆…

【PyQt5篇】和子线程进行通信

文章目录 &#x1f354;使用QtDesigner进行设计&#x1f6f8;和子线程进行通信&#x1f388;运行结果 &#x1f354;使用QtDesigner进行设计 我们首先使用QtDesigner设计界面 得到代码login.ui <?xml version"1.0" encoding"UTF-8"?> <ui …