MySQL 备份

复制代码
逻辑备份: 把数据库转换成 SQL

原数据库:
user
id name
1 Tom
2 Jack

备份以后:
CREATE TABLE user(
    id INT,
    name VARCHAR(20)
);
INSERT INTO user VALUES(1,'Tom');
INSERT INTO user VALUES(2,'Jack');

恢复:
mysql
↓
执行SQL
↓
恢复数据

运用工具: mysqldump
导出:
1、mysqldump -u root -p shop > shop.sql  //备份整个数据库

2、mysqldump -u root -p shop user orders > data.sql  //备份指定表user orders

3、mysqldump -u root -p --all-databases > all.sql   //备份所以数据库

4、mysqldump -u root -p --no-data shop > table.sql  //导出结构 不要数据 没有INSERT

5、mysqldump -u root -p --no-create-info shop > data.sql  //导出数据  不要结构  只有INSERT

导入:
mysql -u root -p shop < shop.sql

物理备份
Percona XtraBackup
复制数据文件+复制Redo Log+恢复一致性


利用InnoDB 的:Redo Log工作。
例如:
10:00开始复制user.ibd

期间数据库不会停,用户操作
UPDATE user
SET name='Jerry'
WHERE id=1;


Redo Log 会记录:
10:01
Page 235
修改
xxx

继续复制,等全部复制完,最后会把Redo Log一起复制。


得到:数据文件+Redo Log

恢复的时候:
先恢复数据文件,然后Replay Redo Log。
最后数据库就是一致的。

逻辑备份可跨版本、可读性强,但恢复较慢,因为要执行多条mysql语句。

物理备份速度快且支持增量备份,但依赖存储格式和版本。

mysqldump 是"导出 SQL",而 XtraBackup 和 MySQL Enterprise Backup 是"复制数据库文件"

工具 类型 是否停机 是否支持增量 适用场景
mysqldump 逻辑备份 否(一般) 小型数据库、开发测试、迁移
mysqlpump 逻辑备份 MySQL 5.7 引入,支持并行导出
Percona XtraBackup 物理备份 企业生产环境、InnoDB
MySQL Enterprise Backup 物理备份 Oracle 企业版
直接复制数据目录 物理备份 是(建议) 停机维护、实验环境

mysqldump :把数据库翻译成 SQL 脚本,恢复时重新执行 SQL。

Percona XtraBackup :把 InnoDB 数据文件 + Redo Log 安全地复制出来,恢复时直接还原文件并应用日志,属于物理热备份

MySQL Enterprise Backup:Oracle 官方提供的物理热备份工具,工作原理与 XtraBackup 类似,但属于商业版,提供更多企业级特性和官方支持。

相关推荐
烂蜻蜓1 小时前
Django入门教程(三):django-admin与manage.py命令完全指南
数据库·django·sqlite
yunlaodacom2 小时前
腾讯云国际版代理商:COS标准、低频、归档和深度归档怎么选?存储成本与数据取回区别
数据库·云计算·腾讯云
Nturmoils2 小时前
SQL Server数据库迁移:V9R4C019 如何接住存量 T-SQL 批处理
数据库
NineData2 小时前
NineData智能数据管理平台新功能发布|2026年8月
数据库·人工智能·oracle·中间件·agent·数据库开发·ninedata
Elastic 中国社区官方博客2 小时前
Elasticsearch 向量数据库:几分钟内完成部署,以经济高效的方式扩展至数千亿规模
大数据·运维·数据库·elasticsearch·搜索引擎·ai·全文检索
1314lay_10072 小时前
C#调用Sql Server存储过程,有返回值的
数据库·sqlserver·c#
DBA_G3 小时前
GBase 8a数据库表空间多路径功能特点综述
数据库·oracle
TDengine (老段)3 小时前
TDgpt 使用 — 部署、SQL、算法
大数据·数据库·sql·算法·时序数据库·tdengine·涛思数据
晴天¥3 小时前
Oracle 19c数据库内存管理优化(内存管理方式调整及内存扩容)
数据库·oracle·oracle数据库集群调优
CQU_JIAKE4 小时前
9.10【A】
数据库