mysql,数据库数据备份

server/2024/12/27 2:19:50/
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.ppmy.cn/server/153491.html

相关文章

【express-generator】02-路由基本使用+api工具测试路由

上篇回顾 上一篇&#xff0c;我们介绍了安装创建和初始化一个express-generator应用程序&#xff0c;并且给了一些注意点&#xff0c;相信跟着步骤&#xff0c;你也可以做到文章里呈现的效果。 这一篇&#xff0c;我们有两大主题&#xff1a;路由的基本使用、api工具测试路由。…

【Spark】架构与核心组件:大数据时代的必备技能(下)

&#x1f407;明明跟你说过&#xff1a;个人主页 &#x1f3c5;个人专栏&#xff1a;《大数据前沿&#xff1a;技术与应用并进》&#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目录 一、引言 1、什么是Apache Spark 2、Spark 的应用场景&…

MySQL 查询优化案例分享

在日常开发中&#xff0c;SQL 查询性能直接影响到系统的响应速度和用户体验。随着数据量的增长&#xff0c;慢查询可能成为系统的瓶颈。本文将通过实际案例&#xff0c;分享几种常见的 MySQL 查询优化方法&#xff0c;帮助开发者快速定位和优化慢查询&#xff0c;提升数据库性能…

细说STM32F407单片机轮询方式读写SPI FLASH W25Q16BV

目录 一、工程配置 1、时钟、DEBUG 2、GPIO 3、SPI2 4、USART6 5、NVIC 二、软件设计 1、FALSH &#xff08;1&#xff09;w25flash.h &#xff08;2&#xff09; w25flash.c 1&#xff09;W25Q16基本操作指令 2&#xff09;计算地址的辅助功能函数 3&#xff09;器…

Berlandesk 注册系统算法实现与解析

一、引言 在不久的将来&#xff0c;一款名为 “Berlandesk” 的电子邮件服务将在 Berland 地区开放&#xff0c;站点管理员希望尽快启动项目&#xff0c;其中很关键的一部分就是实现站点注册系统的原型。本文将详细介绍这个注册系统的功能要求以及使用 Python 语言实现的具体代…

面试真题:Integer(128)引发的思考

引言 在 Java 编程语言中&#xff0c;数据类型的使用至关重要。作为一种静态类型语言&#xff0c;Java 提供了丰富的基本数据类型和对应的包装类。其中&#xff0c;Integer 类是 int 类型的包装类&#xff0c;承载着更复杂的功能&#xff0c;如缓存、装箱和拆箱等。掌握 Integ…

Hive与HBase的区别有哪些

Hive 是基于 Hadoop 的一个数据仓库工具&#xff0c;可以将结构化的数据文件映射为一张数据库表&#xff0c;并提供简单的sql 查询功能&#xff0c;可以将 sql 语句转换为 MapReduce 任务进行运行。 HBase 是 Hadoop 的数据库&#xff0c;一个分布式、可扩展、大数据的存储。 …

选择屏幕的用法

**************************定义控件*********************************** SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-002. SELECT-OPTIONS bukrs FOR iloa-bukrs . "公司代码 SELECT-OPTIONS swerk FOR iloa-swerk OBLIGATORY . "工厂 SELECT-O…