一、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
选项的备份会更轻量一些。
评论 (0)