mysql,数据库数据备份

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.cnf5.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.baktar -zcf /备份目录.tar.gz  /var/lib/mysql完整操作:50机器备份数据:systemctl stop mysqldmkdir /bakdircp -r /var/lib/mysql/ /root/bakdir/scp -r /bakdir/mysql root@192.168.88.51:/root51机器还原数据:systemctl stop mysqldrm -rf /var/lib/mysqld/*cp -r /root/bakdir/mysql/* /var/lib/mysql/chown -R mysql:mysql /var/lib/mysql/systemctl start mysqld2.逻辑备份,温备份备份: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/:$PATHsource /配置文件目录/ #刷新配置文件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 mysqldrm -rf /var/lib/mysql/*xtrabackup --copy-back --target-dir=完全备份目录chown -R mysql:mysql /var/lib/mysqlsystemctl start mysqld3.差异备份(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 mysqldrm -rf /var/lib/mysql/*xtrabackup --copy-back --target-dir=完全备份目录chown -R mysql:mysql /var/lib/mysqlsystemctl start mysqld4.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 /mylogchown -R mysql:mysql /mylog/systemctl restart mysqld5.binlog日志刷新条件(1)数据大于1G(2)手动执行 flush logs;(3)重启服务(4)mysqldump备份数据时配合--flush-logsmysqldump --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.rhkb.cn/news/494978.html

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

相关文章

vue 集成 webrtc-streamer 播放视频流 - 解决阿里云内外网访问视频流问题

资料&#xff1a; 史上最详细的webrtc-streamer访问摄像机视频流教程-CSDN博客 webrtc目录 前端集成 html文件夹里的webrtcstreamer.js&#xff0c;集成到前端&#xff0c;可以访问webrtc&#xff0c;转换rtsp为webrtc视频流&#xff0c;在前端video中播放 <videoref&quo…

Unity3D仿星露谷物语开发5之角色单例模式

1、目的 使用单例模式创建角色对象&#xff0c;保证整个游戏中只有一个角色&#xff0c;并且让游戏对象具有全局可访问性。 2、流程 &#xff08;1&#xff09;创建SingletonMonobehaviour脚本 Assets下创建Scripts目录用于存放所有的脚本&#xff0c;再创建Misk子目录&…

DevNow x Notion

前言 Notion 应该是目前用户量比较大的一个在线笔记软件&#xff0c;它的文档系统也非常完善&#xff0c;支持多种文档格式&#xff0c;如 Markdown、富文本、表格、公式等。 早期我也用过一段时间&#xff0c;后来有点不习惯&#xff0c;就换到了 Obsidian &#xff0c;但是…

hCaptcha 图像识别 API 对接说明

hCaptcha 图像识别 API 对接说明 本文将介绍一种 hCaptcha 图像识别 API 对接说明&#xff0c;它可以通过用户输入识别的内容和 hCaptcha验证码图像&#xff0c;最后返回需要点击的小图像的坐标&#xff0c;完成验证。 接下来介绍下 hCaptcha 图像识别 API 的对接说明。 申请…

Move AI技术浅析(二):输入与预处理

一、视频输入模块 1.1 视频输入步骤详解 视频输入模块的主要任务是接收视频数据&#xff0c;并将其转换为后续处理所需的格式。具体步骤&#xff1a; 1.1.1 视频读取 步骤&#xff1a;从文件系统、网络流或摄像头读取视频数据。技术&#xff1a;使用 OpenCV 的 cv2.VideoCa…

Jenkins 任意文件读取(CVE-2024-23897)修复及复现

Jenkins任意文件读取漏洞CVE-2024-23897修复及复现 漏洞详情影响范围漏洞复现修复建议 Jenkins是一个开源软件项目&#xff0c;是基于Java开发的一种持续集成工具&#xff0c;用于监控持续重复的工作&#xff0c;旨在提供一个开放易用的软件平台&#xff0c;使软件项目可以进行…

远程控制macOS一直卡在100%,能连接上了却只显示了壁纸?

前言 前段时间有个朋友过来咨询关于Windows使用第三方远程软件&#xff08;向日葵、Todesk等&#xff09;远程连接控制macOS系统&#xff0c;但出现了一些奇奇怪怪的问题。 比如在连接的时候&#xff0c;一直卡在100%连接&#xff0c;对方的电脑却已经显示已经被控制的状态。…

Datawhale AI 冬令营学习笔记-零编程基础制作井字棋小游戏

井字棋小游戏是通过豆包MarsCode实现的&#xff0c;没有改动任何的代码&#xff0c;全部是通过对话让AI进行优化和改进。 开始进入正题&#xff1a;进入豆包MarsCode在线IDE&#xff0c;直接点击上方蓝字&#xff0c;或复制链接打开: 豆包 MarsCode - 编程助手。 IDE界面&…

利用Circuit JS1再学学电子方面的知识(硬件)

1 电阻器 1.1 电阻并联 每个电阻电压相同&#xff0c;总电流等于各支路电流之和。 并联电阻值 R 1/(1/R11/R2);R约等于90.9 电阻并联后的阻值比最小的一个电阻值都小。 1.2 电阻串联 电阻串联的阻值为各电阻阻值相加。 RR1R2&#xff0c;串联涉及电阻分压。 一般在开关处…

webrtc获取IceCandidate流程

在WebRTC(Web Real-Time Communication)中,ICECandidate是一个关键概念,它用于描述在建立点对点(P2P)连接时可以考虑的潜在通信端点。以下是关于WebRTC中ICECandidate的详细解释: 一、ICECandidate的定义 ICECandidate对象通常包含以下关键属性: foundation:用于唯一…

注意力机制详解

一、引言 注意力机制&#xff08;Attention Mechanism&#xff09;源于对人类视觉的研究&#xff0c;是一种在深度学习模型中模拟人类注意力的机制。它允许模型在处理信息时能够聚焦于当前任务最相关的部分&#xff0c;从而提高模型的性能和泛化能力。本文将从注意力机制的起源…

重温设计模式--单例模式

文章目录 单例模式&#xff08;Singleton Pattern&#xff09;概述单例模式的实现方式及代码示例1. 饿汉式单例&#xff08;在程序启动时就创建实例&#xff09;2. 懒汉式单例&#xff08;在第一次使用时才创建实例&#xff09; 单例模式的注意事项应用场景 C代码懒汉模式-经典…

金仓数据库安装-Kingbase v9-centos

在很多年前有个项目用的金仓数据库&#xff0c;上线稳定后就没在这个项目了&#xff0c;只有公司的开发环境还在维护&#xff0c;已经好多年没有安装过了&#xff0c;重温一下金仓数据库安装&#xff0c;体验一下最新版本&#xff0c;也做一个新版本的试验环境&#xff1b; 一、…

LabVIEW中什么和C 语言指针类似?

在LabVIEW中&#xff0c;与C语言指针类似的概念是 引用 (Reference)。 引用在LabVIEW中主要用于以下几个方面&#xff1a; 数据引用&#xff1a;LabVIEW通过引用传递数据&#xff0c;而不是复制数据。通过引用&#xff0c;多个VIs可以共享数据而不需要复制整个数据结构&#xf…

医疗大模型威胁攻击下的医院AI安全:挑战与应对策略

一、引言 1.1 研究背景与意义 随着人工智能技术的迅猛发展,医疗大模型作为一种新兴的技术手段,正逐渐渗透到医疗领域的各个环节,为医疗服务的数字化转型带来了前所未有的机遇。从辅助诊断到疾病预测,从个性化治疗方案的制定到医疗资源的优化配置,医疗大模型展现出了巨大…

在 Vue3 项目中安装和配置 Three.js

简介 Three.js 是一个轻量级的 WebGL 封装库&#xff0c;用于在浏览器中渲染复杂的 3D 图形。它提供了便捷的 API&#xff0c;可以快速构建 3D 场景、对象和动画。 Vue.js 是一个渐进式 JavaScript 框架&#xff0c;擅长构建用户界面。其响应式数据绑定和组件系统使得复杂的交…

编译原理复习---正则表达式+有穷自动机

适用于电子科技大学编译原理期末考试复习。 1. 正则表达式 正则表达式&#xff08;Regular Expression&#xff0c;简称regex或regexp&#xff09;是一种用于描述、匹配和操作文本模式的强大工具。它由一系列字符和特殊符号组成&#xff0c;这些字符和符号定义了一种搜索模式…

漏洞检测工具:HOST头部攻击

HOST头部攻击 漏洞定义 Host头部字段在HTTP协议中用于指定请求所针对的域名&#xff0c;以便服务器能够正确地将请求路由到相应的Web应用程序。攻击者通过篡改HTTP请求中的Host头部字段来执行恶意操作。 漏洞危害 Host头部攻击的危害在于它能导致敏感信息泄露、恶意内容执行…

ROS1入门教程6:复杂行为处理

一、新建项目 # 创建工作空间 mkdir -p demo6/src && cd demo6# 创建功能包 catkin_create_pkg demo roscpp rosmsg actionlib_msgs message_generation tf二、创建行为 # 创建行为文件夹 mkdir action && cd action# 创建行为文件 vim Move.action# 定义行为…

DL作业11 LSTM

习题6-4 推导LSTM网络中参数的梯度&#xff0c; 并分析其避免梯度消失的效果 LSTM&#xff08;长短期记忆网络&#xff09;是一种特殊的循环神经网络&#xff08;RNN&#xff09;&#xff0c;旨在解决普通 RNN 在处理长序列时遇到的梯度消失和梯度爆炸问题。它通过设计多个门…