MySQL备份

TanHaX
2023-05-17 / 0 评论 / 246 阅读 / 正在检测是否收录...
一、MySQL备份的类型, MySQL备份主要分为三种类型:

1. 完整备份(Full Backup)

备份MySQL的全部数据库和表,用于全量恢复。优点是简单,恢复速度快;缺点是备份文件较大,备份时间长。

2. 差异备份(Differential Backup)

备份数据库和表的变化数据,与完整备份一起使用,用于实现点恢复。优点是相对完整备份,备份文件较小,速度快;缺点是在多次差异备份后,恢复时间会变长。

3. 增量备份(Incremental Backup)

备份数据库和表的变化数据,用于实现近实时的备份与恢复。优点是备份文件最小,几乎无性能影响;缺点是恢复时间最长,需要依次应用多个增量备份文件。

4. 完整恢复

mysql < backup.sql

5. 增量恢复

mysqlbinlog gbichot2-bin.000007 gbichot2-bin.000008 | mysql
二、MySQL备份工具

常用的MySQL备份工具主要有:

1. mysqldump

MySQL自带的逻辑备份工具,可以导出SQL语句或转储文件。优点是简单免费;缺点是备份时间长,不支持热备和动态恢复。

2. MySQL Enterprise Backup (MEB)

MySQL企业版提供的热备工具,可以实现完整备份、增量备份与恢复。优点是支持热备、恢复速度快;缺点是需要付费使用MySQL企业版。

3. XtraBackup

Percona提供的开源热备工具,功能与MEB类似。优点是开源免费;缺点是学习曲线较 steep。

4. mysqlpump

MySQL8.0提供的新备份工具,替代mysqldump。优点是备份恢复速度快;缺点是只适用于MySQL8.0及以上版本。

三、使用mysqldump进行逻辑备份

备份全部数据库

mysqldump -uroot -p123456 --all-databases > db_backup.sql

备份指定数据库

mysqldump -uroot -p123456 database_name > db_backup.sql   

备份指定表

mysqldump -uroot -p123456 database_name table1 table2 > table_backup.sql

仅导出表结构

mysqldump -uroot -p123456 -d database_name  > db_structure.sql
四、使用MEB进行物理备份

完整备份

meb make_full_backup  

增量备份

meb make_incremental_backup

差异备份

meb make_differential_backup  

恢复备份

meb copy_back  
小笔记:

如果要考虑主要的选择标准,可以参考如下:

1. 数据一致性

如果数据一致性是主要考量因素, --single-transaction 选项产生的备份文件更好,因为它可以保证备份数据的一致性。

3. 主从切换

如果备份文件需要用于主从切换, --master-data 选项产生的备份文件更适合,因为它包含了主从切换需要的二进制日志位置信息。

4. 备份范围

如果只需要备份某些关键数据库, --databases 选项可以产生针对性更强的备份文件。如果需要全部数据库的备份,--all-databases更合适。

5. 性能影响

如果要考虑备份对数据库性能的影响, 不使用 --single-transaction 选项的备份会更轻量一些。

6

打赏

评论 (0)

取消