@TOC
1. 数据备份种类
文章图片
1.1 分类的维度
文章图片
1. 备份时数据库的状态
文章图片
2. 备份文件的格式
文章图片
- 逻辑备份:供人可读的文件
- 物理备份:二进制文件,表数据
rdb
文件等
文章图片
1.2 备份常用工具
【MySQL|MySQl学习笔记-6.数据库的备份】
文章图片
2. OUTFILE命令备份
文章图片
2.1 定义
文章图片
2.2 使用方式
- 1.首先查询到MySQL的导出路径
show variables like '%secure%'
文章图片
- 2.然后使用
into outfile
指令将查询结果导出到指定文件中
文章图片
mysql> select * into outfile '/var/lib/mysql-files/t1-out' from t1;
文章图片
文章图片
- 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)
[root@lsEdu01 ~]# cat /var/lib/mysql-files/t2-out
1,2
3,4
5,6
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
文章图片
3.4 注意事项
文章图片
3.5 缺陷
文章图片
4. mysqldump增量备份
文章图片
4.1 增量备份思路
文章图片
- 查看
binlog
日志文件
[root@lsEdu01 mysql]# pwd
/var/lib/mysql
[root@lsEdu01 mysql]# ll
文章图片
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=https://www.it610.com/article/2> d1_back.sql;
mysqldump: [Warning] Using a password on the command line interface can be insecure.
[root@lsEdu01 mysql]#
文章图片
13
号之前的是旧的日志文件,之后的是备份后产生的新的binlog
日志文件,是进行增量备份的起始标志- 查看日志文件
[root@lsEdu01 mysql]# cat d1_back.sql
文章图片
2. 增量备份
文章图片
- 备份前,防止备份日志文件正在写,需要先切换
binlog
文件,即,切换到新的日志文件,比如之前最新的是13
号,现在切换成14
号,保证13
号文件的完整性 - 这样,
13
号文件记录了之前全量备份到这次增量备份之间所做的全部变更 - 最后,将所有新增的
binlog
文件备份
[root@lsEdu01 mysql]# mysqladmin -h192.168.184.128 -uroot -pLSEdu01_1010 flush-logs
文章图片
3. 还原
文章图片
5. 物理备份-XtraBackup
文章图片
5.1 优点
文章图片
5.2 原理
直接拷贝裸文件问题
文章图片
Mysql文件结构
文章图片
实现物理热备份
文章图片
实现物理增量备份
文章图片
物理还原
文章图片
5.3 实操
idbackup
文章图片
xtraBackup
文章图片
文章图片
文章图片
文章图片
推荐阅读
- mysql|MySQL分页查询
- MySQL数据库|Day1_9 Java学习之DQL语言与完整性约束
- Hive|SQL笔记--语法
- mysql|MySQL教程 - 视图(View)
- 数据库|Dataset用法实践之二 C#数据层模块DLL
- mybatis|mybatis日期查询的坑(具体查询某一天的数据,数据库中能查询到结果,但是mybatis中却查询不到)
- 连续学习|图解连续学习中的蓄水池抽样算法(The Illustrated Reservoir sampling)
- mysql优化|尚硅谷MySQL高级笔记——前篇
- mysql|MySQL高级——锁