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 类似,但属于商业版,提供更多企业级特性和官方支持。

相关推荐
每天都要进步哦7 分钟前
SQL单行函数详解:字符、数字、日期、转换与通用函数全解析
数据库·mysql
不剪发的Tony老师11 分钟前
VeloxDB:一款免费开源的轻量级数据库管理工具
数据库·sql
dotnet9016 分钟前
批量生成所有表的修改脚本
数据库·sql·oracle
@Mike@24 分钟前
06-数据库学习笔记(存储模型与数据压缩)
数据库·笔记·学习
南凉北往1 小时前
PandasAI连接LLM对MySQL数据库进行数据分析
数据库·mysql·数据分析
回眸不遇1 小时前
详谈 QT 布局 QLayout::SizeConstraint 和 QSizePolicy 对 QWidget 尺寸的影响
数据库·qt·系统架构
2601_965798471 小时前
MTDb Movie & TV Database Script Setup, Caching, and SEO Guide
linux·服务器·数据库·php
zdl6862 小时前
EasyMarkets:“机器人商业化仍待验证”
数据库·机器人
Freak嵌入式2 小时前
版本混乱 / 依赖缺失?uPyPi:MicroPython 版 PyPI,彻底解决库管理混乱
linux·服务器·数据库·单片机·嵌入式硬件·性能优化·依赖倒置原则
Elastic 中国社区官方博客2 小时前
Elastic 和 OpenAI 合作,将前沿智能引入非结构化企业数据
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai