网络运维Day19

文章目录

  • 环境准备
  • 数据备份
    • 为什么要备份
    • 什么是备份
    • 备份到哪里
    • 什么时候备份
    • 如何备份
  • 完整备份
    • 物理备份
    • 逻辑备份
    • 测试恢复所有库
  • 构建MySQL服务
  • xtrabackup完全备份与恢复
    • 完全备份
    • 完全恢复
    • 增量备份
    • 增量恢复
  • 总结

环境准备

  • IP地址采用自动分配,以自己的为准

  • 可以将之前的mysql主机的主机名改名为mysql-a

  • 重新安装mysql-b主机,配置基础环境

主机名IP地址
mysql-a192.168.8.100
mysql-b192.168.8.101

为两台主机配置IP地址和指定案例的yum源,下方已mysql-b主机为例

[root@mysql ~]# hostnamectl set-hostname mysql-b
[root@mysql-b ~]# systemctl stop firewalld 				#关闭防火墙
[root@mysql-b ~]# systemctl disable firewalld			#禁止防火墙开机自启
[root@mysql-b ~]# vim /etc/selinux/config				#修改配置文件,关闭SELinux
...
SELINUX=disabled
...
[root@mysql-b ~]# reboot								#重启生效
[root@mysql-b ~]# nmcli connection modify ens33 ipv4.method auto connection.autoconnect yes
[root@mysql-b ~]# nmcli connection up ens33

配置yum,使用阿里云的镜像站点

[root@mysql-b ~]# rm -rf /etc/yum.repos.d/*.repo	 	#删除自带的repo文件
[root@mysql-b ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo \ https://mirrors.aliyun.com/repo/Centos-7.repo		     #下载阿里镜像源

数据备份

为什么要备份

数据是企业生存的命脉

什么是备份

将数据另外保存一份

备份到哪里

通常采用异地保存

什么时候备份

备份的窗口期,通常是业务压力最低点

如何备份

  • 备份方法
    • 物理备份
    • 逻辑备份
  • 备份策略
    • 完整备份
    • 增量备份
    • 差异备份
  • 备份三要素
    • BW:完成备份需要的时间
    • RPO:客户可承受的最大数据丢失量
    • RTO:客户可承受的最长停机时间

完整备份

物理备份

方法:cp、tar、zip …

##物理备份及恢复测试:使用cp、tar、zip等命令对数据库磁盘文件进行备份

#mysql-a操作

[root@mysql-a ~]# systemctl stop mysqld						#停止MySQL服务
[root@mysql-a ~]# mkdir /bak								#创建备份文件存储目录
[root@mysql-a ~]# tar -zcPf /bak/db.tar.gz /var/lib/mysql/*	#对MySQL磁盘文件打包
[root@mysql-a ~]# ls /bak/									#确认备份成功
db.tar.gz

[root@mysql-a ~]# rm -rf /var/lib/mysql/*					#删除MySQL磁盘文件模拟数据丢失
[root@mysql-a ~]# tar -zxPf /bak/db.tar.gz -C /				#解压备份数据,恢复数据
[root@mysql-a ~]# ls /var/lib/mysql/						#确认数据目录下有文件
[root@mysql-a ~]# chown -R mysql.mysql /var/lib/mysql/			#修改文件归属!!!

[root@mysql-a ~]# systemctl start mysqld						#启动服务测试数据

[root@mysql-a ~]# mysql -hlocalhost -uroot -p'tedu123...A' -e "SHOW DATABASES;"

逻辑备份

  • mysqldump命令用于备份数据
  • mysql命令用于恢复数据
##逻辑备份及恢复测试

#备份指定库下的多个表
[root@mysql-a ~]# mysqldump -hlocalhost -uroot -p'tedu123...A' tarena departments employees salary > /bak/des.sql

#备份多个指定库下的所有表
[root@mysql-a ~]# mysqldump -hlocalhost -uroot -p'tedu123...A' -B tarena execdb > /bak/te.sql

#备份所有库下的表
[root@mysql-a ~]# mysqldump -hlocalhost -uroot -p'tedu123...A' -A > /bak/all.sql

[root@mysql-a ~]# ls /bak/*.sql			#确认数据备份成功
/bak/all.sql  /bak/des.sql  /bak/te.sql

##测试恢复指定库下的表

#删除tarena库下的表模拟数据丢失,注意顺序不能改
[root@mysql-a ~]# mysql -hlocalhost -uroot -p'tedu123...A' -e "DROP TABLE tarena.salary; DROP TABLE tarena.employees; DROP TABLE tarena.departments;"

#确认departments表、employees表和salary表被删除
[root@mysql-a ~]# mysql -hlocalhost -uroot -p'tedu123...A' -e "SHOW TABLES FROM tarena;"

#利用des.sql恢复数据
[root@mysql-a ~]# mysql -hlocalhost -uroot -p'tedu123...A' tarena < /bak/des.sql 

#确认3张表恢复成功
[root@mysql-a ~]# mysql -hlocalhost -uroot -p'tedu123...A' -e "SHOW TABLES FROM tarena;"

##测试恢复多个库

#删除tarena库和execdb库模拟数据丢失
[root@mysql-a ~]# mysql -hlocalhost -uroot -p'tedu123...A' -e "DROP DATABASE tarena; DROP DATABASE execdb;"

#确认tarena库和execdb库被删除
[root@mysql-a ~]# mysql -hlocalhost -uroot -p'tedu123...A' -e "SHOW DATABASES;"

#利用te.sql恢复两个库
[root@mysql-a ~]# mysql -hlocalhost -uroot -p'tedu123...A' < /bak/te.sql 

#确认两个库恢复成功
[root@mysql-a ~]# mysql -hlocalhost -uroot -p'tedu123...A' -e "SHOW DATABASES;"

测试恢复所有库

配置基础环境

[root@localhost ~]# hostnamectl set-hostname mysql
[root@mysql ~]# nmcli connection modify ens33 ipv4.method auto connection.autoconnect yes
[root@mysql ~]# nmcli connection up ens33

配置yum,使用阿里云的镜像站点

[root@localhost ~]# rm -rf /etc/yum.repos.d/*.repo	 	#删除自带的repo文件
[root@localhost ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo \ https://mirrors.aliyun.com/repo/Centos-7.repo		     #下载阿里镜像源

构建MySQL服务

将学习环境中的:C-4软件运维\05_医疗项目\HIS医疗项目\mysql8-centos7上传到虚拟机mysql-b的/root/

mysql主机操作

[root@mysql-b ~]# cd  /root/mysql8-centos7
[root@mysql-b ~]# yum -y  localinstall *.rpm				#安装mysql
[root@mysql-b ~]# systemctl   start      mysqld     		#启动服务
[root@mysql-b ~]# systemctl   enable   mysqld    			#开机运行
[root@mysql-b ~]# ss  -utnlp  |  grep  :3306  			#查看服务信息

修改初始密码

[root@mysql-b mysql8-centos7]# grep -i password /var/log/mysqld.log	#过滤root初始密码
2023-08-26T14:22:39.197619Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 4afdh9OY6&Ef
mysql> ALTER USER root@"localhost" IDENTIFIED BY "123qqq...A";  	 #修改登陆密码
[root@mysql ~]# mysql -hlocalhost  -uroot  -p'123qqq...A'	         #使用新密码登陆
##测试恢复所有库(注意含有mysql-b操作)

#发送all.sql到mysql-b
[root@mysql-a ~]# scp /bak/all.sql 192.168.8.101:/root	

#确认mysql-b上只有初始库
[root@mysql-b ~]# mysql -hlocalhost -uroot -p'123qqq...A' -e "SHOW DATABASES;"

#确认all.sql存在
[root@mysql-b ~]# ls /root/all.sql 

#恢复所有库
[root@mysql-b ~]# mysql -hlocalhost -uroot -p'123qqq...A' < all.sql 

#确认库恢复情况
[root@mysql-b ~]# mysql -hlocalhost -uroot -p'123qqq...A' -e "SHOW DATABASES;"

#小问题处理(此时依旧使用旧密码登录,由于服务没重启导致还没加载新的mysql.user文件)
[root@mysql-b ~]# systemctl restart mysqld
[root@mysql-b ~]# mysql -hlocalhost -uroot -p'tedu123...A' -e "SHOW DATABASES;"

xtrabackup完全备份与恢复

  • xtrabackup一款强大的在线热备份工具
  • 备份过程中不锁库表,适合生产环境
  • 由专业组织Percona提供(改进MySQL分支)

mysql-a主机操作,安装percona-xtrabackup(libev是依赖包)

[root@mysql-a ~]# yum -y install libev
[root@mysql-a ~]# yum install -y https://downloads.percona.com/downloads/Percona-XtraBackup-8.0/Percona-XtraBackup-8.0.33-27/binary/redhat/7/x86_64/percona-xtrabackup-80-8.0.33-27.1.el7.x86_64.rpm

完全备份

  • 命令格式

    • xtrabackup --backup --user=用户名 --password=密码 --databases=“库名”

      –target-dir=备份文件的存储目录

  • 如有报错请执行:OPTIMIZE TABLE 库名.表名;

在mysql-a主机将所有数据库进行备份

[root@mysql-a ~]# mkdir /db_all
[root@mysql-a ~]# xtrabackup --backup --user=root --password="tedu123...A"  \
--target-dir=/db_all

将备份目录拷贝至mysql-b

[root@mysql-a ~]# scp -r /db_all root@192.168.8.101:/

完全恢复

步骤如下

1、systemctl stop mysqld #停止数据库服务

2、rm -rf /var/lib/mysql/* #清空数据库目录

3、xtrabackup --prepare --target-dir=/备份目录 #准备恢复数据

4、xtrabackup --copy-back --target-dir=/备份目录 #恢复数据

5、chown -R mysql:mysql /var/lib/mysql #修改所有者和组

6、systemctl start mysqld #启动服务

在mysql-b主机安装软件包

[root@mysql-b ~]# yum -y install libev
[root@mysql-b ~]# yum install -y https://downloads.percona.com/downloads/Percona-XtraBackup-8.0/Percona-XtraBackup-8.0.33-27/binary/redhat/7/x86_64/percona-xtrabackup-80-8.0.33-27.1.el7.x86_64.rpm

恢复数据

[root@mysql-b ~]# rm -rf /var/lib/mysql/*							#清空数据库目录
[root@mysql-b ~]# xtrabackup --prepare --target-dir=/db_all			#准备恢复数据
[root@mysql-b ~]# xtrabackup --copy-back --target-dir=/db_all		#恢复数据
[root@mysql-b ~]# chown -R mysql:mysql /var/lib/mysql

启动服务验证

[root@mysql-b ~]# systemctl restart mysqld
[root@mysql-b ~]# mysql -uroot -ptedu123...A
mysql> SHOW DATABASES;								#数据已回复

增量备份

  • 增量备份:备份上次备份后,新产生的数据。
    • 增量备份时,必须先有一次备份,通常是完全备份
    • 例如:周一完全备份 , 周二~周日增量备份

在这里插入图片描述

  • 增量备份格式

    • xtrabackup --backup --user=用户名 --password=密码 --target-dir=/增量备份目录 \

      –incremental-basedir=/上一次备份目录

mysql-a新增数据

mysql> CREATE DATABASE game;						#创建库
mysql> CREATE TABLE game.t1(id INT,name CHAR(10));	#创建表
mysql> INSERT INTO game.t1 VALUES(1, "zhangsan");	#插入数据

mysql-a增量备份

[root@mysql-a ~]# mkdir /db_firstinc							#创建备份目录
[root@mysql-a ~]# xtrabackup --backup  --user=root --password='tedu123...A' \
--target-dir=/db_firstinc --incremental-basedir=/db_all			#增量备份
[root@mysql-a ~]# scp -r /db_firstinc/ root@192.168.8.101:/		#将增量备份拷贝至备份服务器

增量恢复

  1. xtrabackup --prepare --apply-log-only --target-dir=目标目录 --user=用户名 --password=密码 #将最新的全量备份恢复到指定的目录
  2. xtrabackup --prepare --apply-log-only --target-dir=目标目录 --user=用户名 --password=密码 \

​ --incremental-dir=增量备份目录1 #指的是第一个增量备份文件所在的目录

  1. systemctl stop mysqld
  2. rm -rf /var/lib/mysql/*
  3. xtrabackup --prepare --target-dir=目标目录 --user=root --password=密码
  4. xtrabackup --copy-back --target-dir=目标目录 --user=用户名 --password=密码 //恢复数据
  5. chown -R mysql:mysql /var/lib/mysql/
  6. systemctl start mysqld

mysql-b主机恢复操作

[root@mysql-b ~]# xtrabackup --prepare --apply-log-only --target-dir=/db_all \
--user=root --password='tedu123...A'   #将最新的全量备份恢复到指定的目录

[root@mysql-b ~]# xtrabackup --prepare --apply-log-only --target-dir=目标目录 \
--user=root --password='tedu123...A' --incremental-dir=/db_firstinc
#将增量备份数据恢复到指定的目录
#--incremental-dir=/db_firstinc指的是第一个增量备份文件所在的目录
[root@mysql-b ~]# systemctl  stop mysqld
[root@mysql-b ~]# rm  -rf  /var/lib/mysql/*
[root@mysql-b ~]# xtrabackup --prepare --target-dir=/db_all \
--user=root --password='tedu123...A'									#准备恢复数据
[root@mysql-b ~]# xtrabackup --copy-back --target-dir=/db_all 
--user=root --password='tedu123...A'									#恢复数据

[root@mysql-b ~]# chown -R  mysql:mysql  /var/lib/mysql/
[root@mysql-b ~]# systemctl  start mysqld

总结

  • 掌握数据库备份的重要性
  • 掌握物理备份、热备的方法
  • 掌握数据库备份策略

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

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

相关文章

几种典型的深度学习算法:(CNN、RNN、GANS、RL)

以下是几种典型的深度学习算法&#xff1a; 1、卷积神经网络&#xff08;Convolutional Neural Network&#xff0c;CNN&#xff09;&#xff1a;主要用于图像和视频等视觉任务。通过使用卷积层、池化层和全连接层等不同类型的神经网络层&#xff0c;CNN 可以学习图像中的特征并…

VMware17虚拟机Linux安装教程(详解附图,带VMware Workstation 17 Pro安装)

一、安装 VMware 附官方下载链接&#xff08;VM 17 pro&#xff09;&#xff1a;https://download3.vmware.com/software/WKST-1701-WIN/VMware-workstation-full-17.0.1-21139696.exe 打开下载好的VMware Workstation 17 Pro安装包&#xff1b; 点击下一步&#xff1b; 勾选我…

【微信小程序开发】小程序的事件处理和交互逻辑(最详细)

前言 在微信小程序中&#xff0c;事件处理和交互逻辑是开发过程中非常重要的环节&#xff0c;它们直接影响到用户体验和功能实现。今天为大家继续详解小程序的事件处理和交互逻辑 文章目录 前言为什么要学习事件处理和交互逻辑&#xff1f;事件处理基础事件类型和触发条件事件绑…

轻松搭建个人web站点:OpenWRT教程结合内网穿透技术实现公网远程访问

文章目录 前言1. 检查uhttpd安装2. 部署web站点3. 安装cpolar内网穿透4. 配置远程访问地址5. 配置固定远程地址 前言 uhttpd 是 OpenWrt/LuCI 开发者从零开始编写的 Web 服务器&#xff0c;目的是成为优秀稳定的、适合嵌入式设备的轻量级任务的 HTTP 服务器&#xff0c;并且和…

代码随想录算法训练营第五十四天丨 动态规划part15

392.判断子序列 思路 &#xff08;这道题也可以用双指针的思路来实现&#xff0c;时间复杂度也是O(n)&#xff09; 这道题应该算是编辑距离的入门题目&#xff0c;因为从题意中我们也可以发现&#xff0c;只需要计算删除的情况&#xff0c;不用考虑增加和替换的情况。 所以…

Android Termux安装MySQL,通过内网穿透实现公网远程访问

&#x1f525;博客主页&#xff1a; 小羊失眠啦. &#x1f516;系列专栏&#xff1a; C语言、Linux、Cpolar ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 文章目录 前言1.安装MariaDB2.安装cpolar内网穿透工具3. 创建安全隧道映射mysql4. 公网远程连接5. 固定远程连接地址 前…

互联网+智慧河道大数据一体化管理平台解决方案:PPT43页,附下载

关键词&#xff1a;售前方案工程师&#xff0c;解决方案工程师&#xff0c;技术转售前&#xff0c;技术转售前的优势&#xff0c;软件工程师转售前 一、智慧水务大数据一体化建设背景 1、当前我国供水管网迅速扩张&#xff0c;管理压力加大&#xff0c;供水管网漏损率比较高&…

2023年中国超声波治疗仪发展趋势分析:中高端市场国产化率将稳步上升[图]

超声波治疗机是运用超声波治疗疾病的医用设备。主要由电源&#xff0c;高频振荡电路、超声波能治疗头组成。治疗时应正确掌握超声输出强度、治疗时间和选择不同的工作方式。目前超声波技术在医疗方面的独特疗效已得到医学界的普遍认可&#xff0c;且受到了越来越多临床重视和采…

不允许你还不了解指针的那些事(二)(从入门到精通看这一篇就够了)(数组传参的本质+冒泡排序+数组指针+指针数组)

目录 数组名的理解 使用指针访问数组 一维数组传参的本质 冒泡排序 二级指针 指针数组 指针数组模拟二维数组 字符指针变量 数组指针变量 二维数组传参的本质 函数指针变量 函数指针变量的创建 函数指针变量的使用 两段有趣的代码 代码一 代码二 typedef关键字 函数指针数组 …

反向运算放大器

在学习模拟电路的时候&#xff0c;学习到运算放大器&#xff0c;但实际印象并不深刻&#xff0c;在此进行二次知识整理&#xff0c;以加深深度&#xff0c;下面是我个人对该器件的理解&#xff0c;其他知识暂时不深究&#xff0c;只说一下怎么用。 1、反向运算放大器干什么的&…

有能一键批量转换,轻松将PDF、图片转为Word/Excel的软件吗?

随着数字化时代的到来&#xff0c;OCR技术在我们的生活中变得越来越重要。无论是从图片中提取文字&#xff0c;还是将PDF、图片格式的文件转换为Word或Excel格式&#xff0c;OCR软件都能够为我们提供极大的便利。然而&#xff0c;市面上的OCR软件种类繁多&#xff0c;哪一款软件…

obsidian和bookmaster

1 手动安装插件 插件地址&#xff1a;https://forum-zh.obsidian.md/t/topic/12333 安装file服务器 地址&#xff1a;http://www.rejetto.com/hfs/ hfs.exe可以改个端口 改成8866&#xff0c;ip地址也可以改成 127.0.0.1 # 因为安装到本地 如果要创建账户的话&#xff0c;就…

Google codelab WebGPU入门教程源码<7> - 完整的元胞自动机之生命游戏的完整实现(源码)

对应的教程文章: https://codelabs.developers.google.com/your-first-webgpu-app?hlzh-cn#7 对应的源码执行效果: 对应的教程源码: 此处源码和教程本身提供的部分代码可能存在一点差异。 class Color4 {r: number;g: number;b: number;a: number;constructor(pr 1.0, …

小白也想写综述(一)

前言 在选择科研方向时&#xff0c;考虑自己的兴趣和职业目标是非常重要的&#xff1a; 综述论文的价值&#xff1a;撰写综述论文&#xff0c;尤其是在深度强化学习和区块链这样的前沿技术领域&#xff0c;能够帮助建立扎实的理论基础&#xff0c;并且对整个领域有一个全面的认…

【科技素养】蓝桥杯STEMA 科技素养组模拟练习试卷4

单选题 1、Soda is sold in packs of 6、12 and 24 cans.What is the minimum number of packs needed to buy exactly 90cans of soda? A、4 B、5 C、6 D、8 答案&#xff1a;B 2、蓝桥杯STEMA考试中心发送有同样内容、重量、体积的试卷&#xff0c;从北京10箱和上海6箱…

Reflect 对象的创建目的

目录 前言 逻辑Reflect对象的创建目的包括&#xff1a; 代码示例 使用 Reflect 操作属性 使用 Reflect 检查属性是否存在 使用 Reflect 创建代理 用法 Reflect对象的用法包括&#xff1a; 用于读取和设置对象属性的方法&#xff1a;Reflect.get(obj, prop)、Reflect.s…

等级保护建设全流程

等保&#xff0c;全称为信息安全等级保护&#xff0c;是对信息和信息载体按照重要性等级分级进行保护的一种工作。 企业的信息系统有收集、储存用户信息的&#xff0c;都需要进行等保建设&#xff0c;以此来整改提升系统的安全防护能力&#xff0c;降低被攻击的风险。若不然一旦…

通付盾Web3专题 | KYT/AML:Web3合规展业的必要条件

与传统证券一样&#xff0c;基于区块链技术发展出来的虚拟资产交易所经历了快速发展而缺乏有效监管的行业早期。除了科技光环加持的各种区块链项目方、造富神话之外&#xff0c;交易所遭到黑客攻击、内部偷窃作恶、甚至经营主体异常而致使投资人血本无归的案例亦令人触目惊心。…

PostgreSQL技术大讲堂 - 第34讲:调优工具pgBagder部署

PostgreSQL从小白到专家&#xff0c;是从入门逐渐能力提升的一个系列教程&#xff0c;内容包括对PG基础的认知、包括安装使用、包括角色权限、包括维护管理、、等内容&#xff0c;希望对热爱PG、学习PG的同学们有帮助&#xff0c;欢迎持续关注CUUG PG技术大讲堂。 第34讲&#…