doc: 阅读mysql文档

This commit is contained in:
asahi
2025-08-31 23:22:26 +08:00
parent 702b26f361
commit 64436d8cd4

View File

@@ -30,3 +30,34 @@
对于mysqldump工具而言可以通过添加`--single-transaction`选项来获取innodb的一致性备份原理和上述所示的相同备份逻辑会在一个长事务中执行。`在使用mysqldump进行备份时务必添加--single-transaction选项`
## Cold Backup
对于innodb存储引擎而言cold backup相对简单只需要备份mysql数据库的frm文件mysql8中没有该类型文件、共享表空间文件、独立表空间文件、redo log文件即可。另外建议定期备份mysql数据库的配置文件`my.cnf`,有利于恢复操作。
cold backup存在如下优点
- 备份简单,仅需复制相关文件即可
- 备份文件易于在不同操作系统、不同mysql版本上进行复制
- 恢复速度快仅需拷贝文件即可无需执行sql语句也无需进行索引重建
cold backup存在如下缺点
- innodb存储引擎的cold backup文件通常要比逻辑文件大很多因为表空间中存放着很多其他数据例如`undo log段``change buffer`
- cold backup并不总是可以轻易跨平台操作系统、mysql版本、文件大小写敏感、浮点格式都会造成问题
> change buffer也是系统表空间的一部分故而change buffer也存在磁盘页。在进行cold backup时同样需要备份change buffer。
## 逻辑备份
### mysqldump
mysqldump工具通常用于创建数据库的备份或是在不同数据库之间对数据进行移植如从mysql低版本升级到mysql高版本或从mysql数据库迁移到oracle、sql server等数据库。
mysqldump的语法如下所示
```sql
mysqldump [arguments] >file_name
```
如果想用mysqldump备份所有的数据库可以使用如下命令
```sql
mysqldump --all-databases >dump.sql
```
如果想要备份指定的数据库,可以使用如下命令
```sql
mysqldump --databases db1 db2 db3 > dump.sql
```