面试题答案
一键面试- 备份全量数据:
- 使用
mysqldump
命令或mysqlpump
命令进行逻辑备份,例如mysqldump -u username -p --all - databases > full_backup.sql
。 - 也可使用物理备份工具,如
xtrabackup
进行物理全量备份,例如innobackupex --user=root --password=password /backup/directory
。
- 使用
- 记录二进制日志:
- 确保MySQL开启二进制日志功能(在
my.cnf
中配置log - bin
选项)。 - 二进制日志记录了数据库发生的所有更改操作。
- 确保MySQL开启二进制日志功能(在
- 恢复全量备份:
- 如果是逻辑备份,使用
mysql
命令恢复,例如mysql -u username -p < full_backup.sql
。 - 如果是物理备份,先对备份进行预处理(如使用
innobackupex --apply - log /backup/directory
),然后停止MySQL服务,将预处理后的备份文件拷贝到MySQL数据目录,修改文件权限等操作后,再启动MySQL服务。
- 如果是逻辑备份,使用
- 重放二进制日志:
- 使用
mysqlbinlog
工具重放二进制日志,将数据库恢复到指定的时间点。例如mysqlbinlog --start - date = "2023 - 01 - 01 12:00:00" --stop - date = "2023 - 01 - 01 13:00:00" /var/log/mysql/mysql - bin.000001 | mysql -u username -p
,这里通过指定开始和结束时间来重放二进制日志到特定时间点。
- 使用