mysql,数据库数据备份

news2024/12/25 19:25:57
mysql
一.数据库备份概念
	1.备份分类
	2.备份策略
	3.备份三要素

二.完全备份操作
	1.物理备份(还原),冷备份
	2.逻辑备份,温备份

三.percona软件的xtrabackup工具备份(2备份,3还原),增量,差异
	1.percona软件安装
	2.增量备份(还原)
	3.差异备份

四.binlog日志
	1.binlog日志概念
	2.查看binlog日志信息
	3.清理binlog日志
	4.自定义binlog日志存放位置:/etc/my.cnf.d/mysql-server.cnf
	5.binlog日志刷新条件
	6.binlog日志恢复数据


1.概念
	1.备份分类
		1.数据库服务状态分类:
			冷备份:
				停止数据库服务
			温被备份:
				数据库运行时备份,但对数据库性能受影响
			热备份:
				数据库运行
		
		2.备份数据分类:
			物理备份:备份原始文件(cp,tar)
				跨平台差,备份时间长,冗余备份

			逻辑备份:备份sql语句
				效率低,备份和还原速度慢,锁表

	2.备份策略
		1.完全备份:数据冗余高,安全性高(完全重新备份)
		2.增量备份:无冗余,安全性低(每次以上一次备份为参考)
		3.差异备份:存在一定冗余,安全性较高(每次以完全备份为参考)

	3.备份三要素
		BW:备份数据时长
		RPO:故障发生到数据可以恢复到的时间节点(时间差)
		RTO:数据修复操作的时间长度


2.完全备份操作

	1.物理备份,冷备份:
		cp -r /var/lib/mysql /备份目录/mysql.bak
		tar -zcf /备份目录.tar.gz  /var/lib/mysql

		完整操作:

		50机器备份数据:
			systemctl stop mysqld
			mkdir /bakdir

			cp -r /var/lib/mysql/ /root/bakdir/
			scp -r /bakdir/mysql root@192.168.88.51:/root
	
		51机器还原数据:
			systemctl stop mysqld
			rm -rf /var/lib/mysqld/*

			cp -r /root/bakdir/mysql/* /var/lib/mysql/
			chown -R mysql:mysql /var/lib/mysql/

			systemctl start mysqld


	2.逻辑备份,温备份

		备份:
			mysqldump -uroot -p密码 库名(选项) > /目录/xxx.sql
			选项:
			(1)库名 表名列表	#备份库里面的表
			(2)-B  库名列表	#备份多个库
			(3)-A 			#备份所有数据
		还原:
			mysql -uroot -p密码 库名 < xxx.sql
			注:这里的库名在恢复库时可以省略,表时不可以
			
		
3.percona软件的xtrabackup工具备份(2备份,3还原)

	1.percona软件安装
		(1)安装依赖包
			yum -y install per-DBD-MySQL
	
		(2)解压percona部署,mv移动
	
		(3)配置环境变量 /etc/bashrc 或者 /root/.bashrc
	
		 	文件最后追加:export PATH =/usr/local/percona/bin/:$PATH
			source /配置文件目录/ #刷新配置文件
			xtrabackup -v 	#验证

		(4)xtrabackup:是一个用于 MySQL 和 Percona Server 数据库的热备份工具

	2.增量备份 
		(1)增量备份数据

			1)首次完全备份:
				xtrabackup --host=127.0.0.1 --user=用户名 --password=密码 --backup  
					--datadir=数据库目录  --target-dir=完全备份目录

			2)之后增量备份:(多次重复的代码)
				xtrabackup --host=127.0.0.1 --user=用户名 --password=密码 --backup  
				--datadir=数据库目录  --increamental-basedir=参考目录 --target-dir=增量备份目录x
					注:参考目录=上一次备份的目录

		(2)增量备份恢复数据

			1)准备数据
			xtrabackup --prepare --apply-log-only --target-dir=/完全备份目录
			
			2)合并数据(每次都需要合并)
	 xtrabackup --prepare --apply-log-only  --incremental-dir=/增量备份目录x --target-dir=/完全备份目录
					(多次操作,将增量备份数据和基础数据合并)
			
			3)拷贝还原数据
				systemctl stop mysqld
				rm -rf /var/lib/mysql/*
	
				xtrabackup --copy-back --target-dir=完全备份目录
	
				chown -R mysql:mysql /var/lib/mysql
				systemctl start mysqld


	3.差异备份

		(1)差异备份数据

			1)首次完全备份
				xtrabackup --host=127.0.0.1 --user=用户名 --password=密码 --backup  
					        --datadir=数据库目录  --target-dir=完全备份目录
			2)之后差异备份
				xtrabackup --host=127.0.0.1 --user=用户名 --password=密码 --backup  
				--datadir=数据库目录  --increamental-basedir=参考目录(不变) --target-dir=增量备份目录x

		(2)差异备份数据恢复
			1)准备恢复数据
			xtrabackup --prepare --apply-log-only --target-dir=/完全备份目录

			2)合并数据(合并最后一次的)
			xtrabackup --prepare --apply-log-only  --incremental-dir=/最后一次差异备份 --target-dir=/完全备份目录

			3)拷贝还原数据
				systemctl stop mysqld
				rm -rf /var/lib/mysql/*
	
				xtrabackup --copy-back --target-dir=完全备份目录
				
				chown -R mysql:mysql /var/lib/mysql
				systemctl start mysqld


4.blinlog日志(保存sql语句)

	1.概念
		(1)保存除查询之外所有的sql
		(2)可用于数据的备份和恢复
		(3)配置mysql主从同步的必要条件

	2.查看binlog日志信息

		(1)查看当前活跃的binlog日志信息
			show master status;
			日志默认存储在:/var/lib/mysql/binlog.*
		(2)查看所有binlog日志
			show binary logs;


		(3)查看binlog日志文件文件内容
			show binlog events in 'mysql52.000001'
		(4)查看binlog日志存储的二进制文件内容
			mysqlbinlog 日志名

	3.清理binlog日志

		(1)清理至指定日志编号位置
			purge master logs to 'mysql52.000003';

		(2)重置日志
			reset master;

	4.自定义binlog日志存放位置:/etc/my.cnf.d/mysql-server.cnf
		添加: log_bin = /mylog/mysql52	(/目录/日志名)
			
		mkdir /mylog
		chown -R mysql:mysql /mylog/
		systemctl restart mysqld
		
	5.binlog日志刷新条件
	
		(1)数据大于1G
		(2)手动执行 flush logs;
		(3)重启服务
		(4)mysqldump备份数据时配合--flush-logs
		   mysqldump --flush-logs mysql user > user.sql 

	6.binlog日志恢复数据
		mysqlbinlog 日志名(mysql52.000001) | mysql  -u用户名 -p'密码'

		

mysql

一.数据库备份概念
    1.备份分类
    2.备份策略
    3.备份三要素

二.完全备份操作
    1.物理备份(还原),冷备份
    2.逻辑备份,温备份

三.percona软件的xtrabackup工具备份(2备份,3还原),增量,差异
    1.percona软件安装
    2.增量备份(还原)
    3.差异备份

四.binlog日志
    1.binlog日志概念
    2.查看binlog日志信息
    3.清理binlog日志
    4.自定义binlog日志存放位置:/etc/my.cnf.d/mysql-server.cnf
    5.binlog日志刷新条件
    6.binlog日志恢复数据


1.概念
    1.备份分类
        1.数据库服务状态分类:
            冷备份:
                停止数据库服务
            温被备份:
                数据库运行时备份,但对数据库性能受影响
            热备份:
                数据库运行
        
        2.备份数据分类:
            物理备份:备份原始文件(cp,tar)
                跨平台差,备份时间长,冗余备份

            逻辑备份:备份sql语句
                效率低,备份和还原速度慢,锁表

    2.备份策略
        1.完全备份:数据冗余高,安全性高(完全重新备份)
        2.增量备份:无冗余,安全性低(每次以上一次备份为参考)
        3.差异备份:存在一定冗余,安全性较高(每次以完全备份为参考)

    3.备份三要素
        BW:备份数据时长
        RPO:故障发生到数据可以恢复到的时间节点(时间差)
        RTO:数据修复操作的时间长度


2.完全备份操作

    1.物理备份,冷备份:
        cp -r /var/lib/mysql /备份目录/mysql.bak
        tar -zcf /备份目录.tar.gz  /var/lib/mysql

        完整操作:

        50机器备份数据:
            systemctl stop mysqld
            mkdir /bakdir

            cp -r /var/lib/mysql/ /root/bakdir/
            scp -r /bakdir/mysql root@192.168.88.51:/root
    
        51机器还原数据:
            systemctl stop mysqld
            rm -rf /var/lib/mysqld/*

            cp -r /root/bakdir/mysql/* /var/lib/mysql/
            chown -R mysql:mysql /var/lib/mysql/

            systemctl start mysqld


    2.逻辑备份,温备份

        备份:
            mysqldump -uroot -p密码 库名(选项) > /目录/xxx.sql
            选项:
            (1)库名 表名列表    #备份库里面的表
            (2)-B  库名列表    #备份多个库
            (3)-A             #备份所有数据
        还原:
            mysql -uroot -p密码 库名 < xxx.sql
            注:这里的库名在恢复库时可以省略,表时不可以
            
        
3.percona软件的xtrabackup工具备份(2备份,3还原)

    1.percona软件安装
        (1)安装依赖包
            yum -y install per-DBD-MySQL
    
        (2)解压percona部署,mv移动
    
        (3)配置环境变量 /etc/bashrc 或者 /root/.bashrc
    
             文件最后追加:export PATH =/usr/local/percona/bin/:$PATH
            source /配置文件目录/ #刷新配置文件
            xtrabackup -v     #验证

        (4)xtrabackup:是一个用于 MySQL 和 Percona Server 数据库的热备份工具

    2.增量备份 
        (1)增量备份数据

            1)首次完全备份:
                xtrabackup --host=127.0.0.1 --user=用户名 --password=密码 --backup  
                    --datadir=数据库目录  --target-dir=完全备份目录

            2)之后增量备份:(多次重复的代码)
                xtrabackup --host=127.0.0.1 --user=用户名 --password=密码 --backup  
                --datadir=数据库目录  --increamental-basedir=参考目录 --target-dir=增量备份目录x
                    注:参考目录=上一次备份的目录

        (2)增量备份恢复数据

            1)准备数据
            xtrabackup --prepare --apply-log-only --target-dir=/完全备份目录
            
            2)合并数据(每次都需要合并)
     xtrabackup --prepare --apply-log-only  --incremental-dir=/增量备份目录x --target-dir=/完全备份目录
                    (多次操作,将增量备份数据和基础数据合并)
            
            3)拷贝还原数据
                systemctl stop mysqld
                rm -rf /var/lib/mysql/*
    
                xtrabackup --copy-back --target-dir=完全备份目录
    
                chown -R mysql:mysql /var/lib/mysql
                systemctl start mysqld


    3.差异备份

        (1)差异备份数据

            1)首次完全备份
                xtrabackup --host=127.0.0.1 --user=用户名 --password=密码 --backup  
                            --datadir=数据库目录  --target-dir=完全备份目录
            2)之后差异备份
                xtrabackup --host=127.0.0.1 --user=用户名 --password=密码 --backup  
                --datadir=数据库目录  --increamental-basedir=参考目录(不变) --target-dir=增量备份目录x

        (2)差异备份数据恢复
            1)准备恢复数据
            xtrabackup --prepare --apply-log-only --target-dir=/完全备份目录

            2)合并数据(合并最后一次的)
            xtrabackup --prepare --apply-log-only  --incremental-dir=/最后一次差异备份 --target-dir=/完全备份目录

            3)拷贝还原数据
                systemctl stop mysqld
                rm -rf /var/lib/mysql/*
    
                xtrabackup --copy-back --target-dir=完全备份目录
                
                chown -R mysql:mysql /var/lib/mysql
                systemctl start mysqld


4.blinlog日志(保存sql语句)

    1.概念
        (1)保存除查询之外所有的sql
        (2)可用于数据的备份和恢复
        (3)配置mysql主从同步的必要条件

    2.查看binlog日志信息

        (1)查看当前活跃的binlog日志信息
            show master status;
            日志默认存储在:/var/lib/mysql/binlog.*
        (2)查看所有binlog日志
            show binary logs;


        (3)查看binlog日志文件文件内容
            show binlog events in 'mysql52.000001'
        (4)查看binlog日志存储的二进制文件内容
            mysqlbinlog 日志名

    3.清理binlog日志

        (1)清理至指定日志编号位置
            purge master logs to 'mysql52.000003';

        (2)重置日志
            reset master;

    4.自定义binlog日志存放位置:/etc/my.cnf.d/mysql-server.cnf
        添加: log_bin = /mylog/mysql52    (/目录/日志名)
            
        mkdir /mylog
        chown -R mysql:mysql /mylog/
        systemctl restart mysqld
        
    5.binlog日志刷新条件
    
        (1)数据大于1G
        (2)手动执行 flush logs;
        (3)重启服务
        (4)mysqldump备份数据时配合--flush-logs
           mysqldump --flush-logs mysql user > user.sql 

    6.binlog日志恢复数据
        mysqlbinlog 日志名(mysql52.000001) | mysql  -u用户名 -p'密码'

        
    

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

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

相关文章

Ubuntu20.04安装openMVS<成功>.colmap<成功>和openMVG<失败(已成功)>

一、安装openMVS 参考官方文档 sudo apt-get -y install git mercurial cmake libpng-dev libjpeg-dev libtiff-dev libglu1-mesa-dev eigen git clone https://gitlab.com/libeigen/eigen --branch 3.4 mkdir eigen_build cd eigen_build &&\cmake . ../eigen -…

【magic-dash】01:magic-dash创建单页面应用及二次开发

文章目录 一、magic-dash是什么1.1 安装1.2 使用1.2.1 查看内置项目模板1.2.2 生成指定项目模板1.2.3 查看当前magic-dash版本1.2.4 查看命令说明1.2.5 内置模板列表二、创建虚拟环境并安装magic-dash三、magic-dash单页工具应用开发3.1 创建单页面项目3.1.1 使用命令行创建单页…

重温设计模式--原型模式

文章目录 原型模式定义原型模式UML图优点缺点使用场景C 代码示例深拷贝、浅拷贝 原型模式定义 用原型实例指定创建对象的种类&#xff0c;并且通过拷贝这些原型创建新的对象&#xff1b; 核心中的核心就是 克隆clone ,后面讲 原型模式是一种创建型设计模式&#xff0c;它的主要…

Kibana8.17.0在mac上的安装

1、Kibana是什么 Kibana是与elasticsearch配套使用的数据分析与可视化工具&#xff0c;通过Kibana可以轻松与es中存储的数据进行高效的交互&#xff0c;包括数据写入、检索、删除等操作&#xff0c;并可以通过编写部分代码将数据做成各种报表&#xff0c;从而进行非常直观的统…

61.基于SpringBoot + Vue实现的前后端分离-在线动漫信息平台(项目+论文)

项目介绍 随着社会互联网技术的快速发展&#xff0c;每个行业都在努力与现代先进技术接轨&#xff0c;通过科技手段提高自身的优势&#xff1b;对于在线动漫信息平台当然也不能排除在外&#xff0c;随着网络技术的不断成熟&#xff0c;带动了在线动漫信息平台&#xff0c;它彻底…

【python】银行客户流失预测预处理部分,独热编码·标签编码·数据离散化处理·数据筛选·数据分割

数据预处理 通过网盘分享的文件&#xff1a;银行流失预测数据和代码 链接: https://pan.baidu.com/s/1loiB8rMvZArfjJccu4KW6w?pwdpfcs 提取码: pfcs 非数值特征处理 目的&#xff1a;将非数值特征转换为数值型&#xff0c;以便模型能够处理。方法&#xff1a; 地理位置&am…

从零开始使用MaxKB打造本地大语言模型智能问答系统与远程交互

文章目录 前言1. 下载运行Ollama2. 安装大语言模型3. 安装Cpolar工具4. 配置公网地址5. 固定公网地址6. MaxKB 添加Olama7.创建问答应用 前言 目前大语言模型&#xff08;LLM&#xff09;已经成为了人工智能领域的一颗璀璨明星&#xff0c;从自然语言处理到智能问答系统&#…

neo4j无法导入csv文件

文章目录 问题解决方案1. 检查Neo4j的neo4j.conf配置文件2. 确保文件路径正确3. 将CSV文件放置到import目录4. 重启Neo4j服务器 问题 neo4j browser中导入csv文件报错无法导入 具体&#xff1a;输入下列语句LOAD CSV WITH HEADERS FROM “file:///D:/KG/relation.csv” AS lin…

WebLogic T3反序列化漏洞(CVE-2018-2628)--vulhub

WebLogic T3反序列化漏洞(CVE-2018-2628) WebLogic在通信过程中使用T3协议传输数据&#xff0c;涉及到了序列化和反序列化操作。 T3协议概述 T3协议是Oracle的私有协议&#xff0c;所以公开的相关资料比较少&#xff0c;这里结合其他师傅的博客简单对T3协议进行一个简要分析…

在瑞芯微RK3588平台上使用RKNN部署YOLOv8Pose模型的C++实战指南

在人工智能和计算机视觉领域,人体姿态估计是一项极具挑战性的任务,它对于理解人类行为、增强人机交互等方面具有重要意义。YOLOv8Pose作为YOLO系列中的新成员,以其高效和准确性在人体姿态估计任务中脱颖而出。本文将详细介绍如何在瑞芯微RK3588平台上,使用RKNN(Rockchip N…

scala借阅图书保存记录(三)

BookDAO package org.app package daoimport models.BookModelimport scala.collection.mutable.ListBuffer//图书&#xff0c;数据操作 class BookDAO {//加载图书&#xff0c;从文件中读入def loadBooks(): ListBuffer[BookModel] {val books new ListBuffer[BookModel]()…

无标记动作捕捉系统如何赋能体育运动分析,推动体育科学发展?

随着技术的不断发展与社会的需要&#xff0c;健康、科学运动成为了大众关注的一个热词。在韩国首尔的中央大学&#xff0c;其生物运动临床康复实验室和运动训练中心就致力于通过生物力学分析来研究与运动相关的伤害&#xff0c;并通过定制科学的训练计划来帮助运动员改进他们的…

Unittest02|TestSuite、TestRunner、HTMLTestRunner、处理excel表数据、邮件接收测试结果

目录 八、测试套件TestSuite和测试运行器TestRunner 1、基本概念 2、创建和使用测试套件 3、 自动发现测试用例、创建测试套件、运行测试 4、生成html的测试报告&#xff1a;HTMLTestRunner 1️⃣导入HTMLTestRunner模块 2️⃣运行测试用例并生成html文件 九、unittest…

[搜广推]王树森推荐系统笔记——曝光过滤 Bloom Filter

曝光过滤 & Bloom Filter 曝光过滤主要在召回阶段做&#xff0c;主要方法是Bloom Filter 曝光过滤问题 -如果用户看过某个物品&#xff0c;则不再把该物品曝光给该用户。 - 原因是重复曝光同一个物品会损害用户体验 - 但长视频通常没有曝光过滤&#xff08;youtube&…

JS CSS HTML 的代码如何快速封装

我们为什么要封装代码&#xff0c;是因为封装后的代码&#xff0c;会显得非常美观&#xff0c;减少代码的复用&#xff0c;方便我们更好的去维护代码&#xff0c;不用一个一个页面的去找去改&#xff0c;直接封装好的代码里面去改就可以了 目录 1.html代码封装 2.CSS代码封装 …

acme ssl证书自动续签 nginx

参考 github 官方操作 &#xff0c;acme操作说明 说下我的操作 安装 acme.sh curl https://get.acme.sh | sh source ~/.bashrc 2.注册 acme.sh --register-account -m 123qq.com 如果你在配置 acme.sh 时选择了其他 CA&#xff08;如 Let’s Encrypt&#xff09;&#xff…

【专题】2024抖音电商母婴行业分析报告汇总PDF洞察(附原数据表)

原文链接&#xff1a;https://tecdat.cn/?p38651 在数字化浪潮的席卷下&#xff0c;抖音电商母婴行业正经历着深刻变革。当下&#xff0c;年轻一代父母崛起&#xff0c;特别是 24 至 30 岁以及 18 至 23 岁的群体成为抖音母婴行业兴趣人群的主力军。他们带来全新育儿理念&…

设计模式之 abstract factory

适用场景 一个系统要独立于它的产品的创建、组合和表示时。一个系统要由多个产品系列中的一个来配置时。当你要强调一系列相关的产品对象的设计以便进行联合使用时。当你提供一个产品类库&#xff0c;而只想显示它们的接口而不是实现时 架构演示 首先client这个东西可以接触到…

UE5仿漫威争锋灵蝶冲刺技能

这两天玩了一下漫威争锋Marvel Rivals&#xff0c;发现是UE5做的&#xff0c;对里面一些角色技能挺感兴趣的&#xff0c;想简单复刻一下技能功能&#xff0c;顺便复习一下学过的知识 首先把摄像机设置调整一下 CameraBoom里搜索lag 把摄像机延迟关掉 &#xff0c;这样摄像机就…

尼伽OLED赋能中国移动,打造移动AI数字人透明显示屏

随着人工智能和显示技术的不断进步&#xff0c;中国移动紧跟科技潮流&#xff0c;将移动AI数字人技术与透明屏完美结合&#xff0c;为用户带来了前所未有的智能交互体验。基于中国移动九天大模型生成的数字人小天&#xff0c;便是这一创新技术的典型代表。它不仅能够实现定点播…