From 79ed0d69caaad0b50bd3c0c6f7a9228db7bd382b Mon Sep 17 00:00:00 2001 From: dzj1688 <166727657@qq.com> Date: Wed, 10 Jul 2024 11:34:03 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AC=94=E8=AE=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...75\345\222\214\350\277\230\345\216\237.md" | 85 +++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 "\351\222\237\345\207\244\350\213\261/20240709 MySQL\347\232\204\345\244\207\344\273\275\345\222\214\350\277\230\345\216\237.md" diff --git "a/\351\222\237\345\207\244\350\213\261/20240709 MySQL\347\232\204\345\244\207\344\273\275\345\222\214\350\277\230\345\216\237.md" "b/\351\222\237\345\207\244\350\213\261/20240709 MySQL\347\232\204\345\244\207\344\273\275\345\222\214\350\277\230\345\216\237.md" new file mode 100644 index 0000000..e5df0d1 --- /dev/null +++ "b/\351\222\237\345\207\244\350\213\261/20240709 MySQL\347\232\204\345\244\207\344\273\275\345\222\214\350\277\230\345\216\237.md" @@ -0,0 +1,85 @@ +数据库备份是确保数据安全和可恢复性的重要措施。以下是关于数据库备份的详细介绍,包括备份类型、备份策略和常见数据库的备份方法。 + + +### 1\. 备份类型 + +#### 1.1 完全备份(Full Backup) + +* **定义**:备份整个数据库,包括数据文件、日志文件和系统表。 +* **优点**:恢复速度快,恢复时只需一个备份文件。 +* **缺点**:备份时间长,占用空间大。 + +#### 1.2 增量备份(Incremental Backup) + +* **定义**:只备份自上次备份以来发生变化的数据。 +* **优点**:备份时间短,占用空间小。 +* **缺点**:恢复时需要多个备份文件,恢复过程复杂。 + +#### 1.3 差异备份(Differential Backup) + +* **定义**:备份自上次完全备份以来发生变化的数据。 +* **优点**:备份时间较短,恢复时只需一个完全备份和一个差异备份。 +* **缺点**:占用空间比增量备份大。 + +#### 1.4 日志备份(Log Backup) + +* **定义**:备份事务日志,用于恢复到特定时间点或事务。 +* **优点**:可以实现精确恢复。 +* **缺点**:需要定期进行,且恢复时需要多个日志文件。 + +### 2\. 备份策略 + +#### 2.1 定期备份 + +* **定义**:按照固定的时间间隔进行备份,如每天、每周或每月。 +* **适用场景**:数据变化不频繁,或对数据实时性要求不高的场景。 + +#### 2.2 实时备份 + +* **定义**:实时或近实时地进行备份,通常使用复制技术(如数据库复制、日志传送)。 +* **适用场景**:对数据实时性要求高的场景,如金融交易系统。 + +#### 2.3 混合备份 + +* **定义**:结合定期备份和实时备份,如每周进行一次完全备份,每天进行一次差异备份,实时进行日志备份。 +* **适用场景**:对数据安全和实时性都有较高要求的场景。 + +### 3\. 常见数据库的备份方法 + +#### 3.1 MySQL +* **基本命令** + +``` +mysqldump -u 用户名 -p 数据库 > backup_file.sql +``` +* **完全备份**:使用 `mysqldump` 工具。 + + mysqldump -u root -p --all-databases > backup.sql + + +* **增量备份**:使用 `binlog`。 + + mysqlbinlog binlog.000001 > backup.sql + + + +## 3.2 PostgreSQL + +* **完全备份**:使用 `pg_dump` 工具。 + + pg_dump -U username -F c -b -v -f backup.dump dbname + + +* **增量备份**:使用 `pg_basebackup` 和 `WAL` 日志。 + + pg_basebackup -D backup_dir -Ft -z -P + + + ## 练习题 + 练习:直接在内网服务器上,向windows主机传递文件(PS:要求必须使用SCP命令),掌握清楚scp命令能成功的前提 + ``` + scp root@服务器ip:/root/备份文件名称 + ``` + + + -- Gitee