• 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. 完备流程

    在这里插入图片描述

  • 相关阅读:
    LINUX的XEN和KVM到底区别在什么地方?
    别再用Field注入了
    创建React Native的第一个hello world工程
    上海计算机学会 2024年4月月赛 丙组T1 最大公约数
    IDEA使用http client无法识别http-client.env.json的环境配置
    计算机毕业设计选什么题目好?springboot 高校就业管理系统
    springboot使用Freemark生成动态页面工具
    智能优化算法|增强型鲸鱼优化算法 (E-WOA)(Matlab代码实现)
    9月15日作业
    金融机构数字化转型背景下,集中式与分布式存储选型之辨和未来之路
  • 原文地址:https://blog.csdn.net/xingzhes_/article/details/126657761