• MySQl学习笔记-6.数据库的备份


    @TOC

    一、数据库的备份

    1. 数据备份种类

    在这里插入图片描述

    1.1 分类的维度

    在这里插入图片描述

    1. 备份时数据库的状态

    在这里插入图片描述

    2. 备份文件的格式

    在这里插入图片描述

    • 逻辑备份:供人可读的文件
    • 物理备份:二进制文件,表数据rdb文件等
    3. 备份的内容

    在这里插入图片描述

    1.2 备份常用工具

    在这里插入图片描述

    2. OUTFILE命令备份

    在这里插入图片描述

    2.1 定义

    在这里插入图片描述

    2.2 使用方式

    • 1.首先查询到MySQL的导出路径
    show variables like '%secure%'
    
    • 1

    在这里插入图片描述

    • 2.然后使用into outfile指令将查询结果导出到指定文件中

    在这里插入图片描述

    mysql> select * into outfile '/var/lib/mysql-files/t1-out' from t1;
    
    • 1

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

    • 3.可以在事务中备份同一时刻的一致性数据
      在这里插入图片描述
    mysql> begin;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> select * into outfile '/var/lib/mysql-files/t2-out' fields terminated by ',' from t2;
    Query OK, 3 rows affected (0.00 sec)
    
    mysql> commit;
    Query OK, 0 rows affected (0.00 sec)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    [root@lsEdu01 ~]# cat /var/lib/mysql-files/t2-out
    1,2
    3,4
    5,6
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    2.3 缺陷

    在这里插入图片描述

    3. 如何使用mysqldump

    在这里插入图片描述

    3.1 outfile如何改进

    在这里插入图片描述

    3.2 mysqldump简介

    在这里插入图片描述

    3.3 mysqldump原理

    1. 备份语句

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

    [root@lsEdu01 ~]# mysqldump -h192.168.184.128 -uroot -pLSEdu01_1010 --databases d1 --single-transaction > 1.sql
    
    
    • 1
    • 2

    在这里插入图片描述

    3.4 注意事项

    在这里插入图片描述

    3.5 缺陷

    在这里插入图片描述

    4. mysqldump增量备份

    4.1 增量备份思路

    在这里插入图片描述

    • 查看binlog日志文件
    [root@lsEdu01 mysql]# pwd
    /var/lib/mysql
    [root@lsEdu01 mysql]# ll
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    4.2 备份步骤

    1. 全量备份,并创建新的binlog文件

    在这里插入图片描述

    • master-data标记新的binlog位置,还原时知道从哪开始还原
    [root@lsEdu01 mysql]# mysqldump -h192.168.184.128 -uroot -pLSEdu01_1010 --databases d1 --single-transaction --flush-logs --master-data=2 > d1_back.sql;
    mysqldump: [Warning] Using a password on the command line interface can be insecure.
    [root@lsEdu01 mysql]#
    
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    • 13号之前的是旧的日志文件,之后的是备份后产生的新的binlog日志文件,是进行增量备份的起始标志
    • 查看日志文件
    [root@lsEdu01 mysql]# cat d1_back.sql
    
    
    • 1
    • 2

    在这里插入图片描述

    2. 增量备份

    在这里插入图片描述

    • 备份前,防止备份日志文件正在写,需要先切换binlog文件,即,切换到新的日志文件,比如之前最新的是13号,现在切换成14号,保证13号文件的完整性
    • 这样,13号文件记录了之前全量备份到这次增量备份之间所做的全部变更
    • 最后,将所有新增的binlog文件备份
    [root@lsEdu01 mysql]# mysqladmin -h192.168.184.128 -uroot -pLSEdu01_1010 flush-logs
    
    
    • 1
    • 2

    在这里插入图片描述

    3. 还原

    在这里插入图片描述

    5. 物理备份-XtraBackup

    在这里插入图片描述

    5.1 优点

    在这里插入图片描述

    5.2 原理

    直接拷贝裸文件问题

    在这里插入图片描述

    Mysql文件结构

    在这里插入图片描述

    实现物理热备份

    在这里插入图片描述

    实现物理增量备份

    在这里插入图片描述

    物理还原

    在这里插入图片描述

    5.3 实操

    idbackup

    在这里插入图片描述

    xtraBackup

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

    6. 新的备份工具

    在这里插入图片描述

    6.1 mylvmbackup

    在这里插入图片描述

    6.2 mydumper

    在这里插入图片描述

    6.3 Zmanda Recovery Manager

    在这里插入图片描述

    二、其他安全策略

    在这里插入图片描述

    1. 权限隔离

    在这里插入图片描述

    2. SQL审计

    在这里插入图片描述

    3. 伪删表

    在这里插入图片描述

    4. 完备流程

    在这里插入图片描述

  • 相关阅读:
    如何安装React的第一个脚手架
    Go语言 rand(随机数)包
    Yii2 引入 外部无命名空间的类,Class not found
    YOLOv9改进策略 | 添加注意力篇 | LSKAttention大核注意力机制助力极限涨点 (附多个位置添加教程)
    数据结构之顺序表的模拟实现
    谷歌浏览器打开白屏 后台还有还有很多google chrome进程在运行
    Linux 下集成开发环境 – PyCharm介绍
    [carla] GNSS传感器与Carla坐标系 转换方法
    纽扣电池/含纽扣电池产品上架亚马逊各国法规标准要求16 CFR 第 1700.15/20 ANSI C18.3M(瑞西法案认证)
    GoFrame的gmap相比Go原生的map,天然支持排序和有序遍历!?
  • 原文地址:https://blog.csdn.net/xingzhes_/article/details/126657761