面试题答案
一键面试1. 逻辑备份
- 常用工具:
mysqldump
- 优点:
- 跨平台性好,可在不同操作系统和MySQL版本间恢复。
- 备份文件可读性强,方便查看和编辑。
- 缺点:
- 恢复速度相对较慢,因为要逐行解析和执行SQL语句。
- 对于大数据库,备份文件可能会非常大,占用大量磁盘空间。
- 恢复流程:使用
mysql
命令行工具,将备份文件作为输入,如mysql -u用户名 -p密码 < 备份文件名.sql
2. 物理备份
- 常用工具:
mysqlpump
、xtrabackup
(适用于InnoDB存储引擎) - 优点:
- 恢复速度快,因为是直接复制数据文件。
- 对于大数据库备份和恢复效率高。
- 缺点:
- 依赖于操作系统和MySQL版本,可移植性差。
- 备份文件不可读,不便于直接修改。
- 恢复流程:
- mysqlpump:停止MySQL服务,将备份文件中的数据文件复制到MySQL数据目录,修改文件权限等,然后启动MySQL服务。
- xtrabackup:准备阶段(
innobackupex --apply-log 备份目录
),恢复阶段(停止MySQL,将备份目录数据复制到MySQL数据目录,修改权限,启动MySQL)
3. 基于二进制日志(binlog)备份
- 优点:
- 可以实现基于时间点恢复(Point-in-Time Recovery, PITR),能恢复到故障前任意时刻。
- 备份过程对数据库性能影响较小。
- 缺点:
- 依赖于二进制日志记录的完整性,如果日志损坏可能导致恢复失败。
- 恢复时需要结合全量备份和二进制日志,操作相对复杂。
- 恢复流程:
- 先恢复全量备份(如逻辑或物理全量备份)。
- 应用二进制日志,使用
mysqlbinlog
工具重放二进制日志,如mysqlbinlog binlog文件名 | mysql -u用户名 -p密码
,可通过指定起止位置实现PITR。