MST

星途 面试题库

面试题:MySQL二进制日志备份与恢复之中等难度题

在MySQL中,简述使用二进制日志进行恢复时,基于时间点恢复(Point - in - Time Recovery, PITR)的基本步骤是什么?
14.2万 热度难度
数据库MySQL

知识考点

AI 面试

面试题答案

一键面试
  1. 准备工作
    • 确保MySQL开启了二进制日志功能(log - bin参数),并记录二进制日志文件的位置和文件名。
    • 备份数据库,通常是通过全量备份(如mysqldump或物理备份工具)。
  2. 恢复全量备份
    • 将之前的全量备份文件恢复到目标MySQL实例中。例如,如果是通过mysqldump备份的,可使用mysql命令恢复备份文件。
  3. 应用二进制日志
    • 确定需要恢复到的时间点。
    • 使用mysqlbinlog工具结合--start - position--stop - position(或--start - datetime--stop - datetime)参数来重放二进制日志。例如:
      mysqlbinlog --start - datetime="2023 - 01 - 01 08:00:00" --stop - datetime="2023 - 01 - 01 09:00:00" /var/lib/mysql/mysql - bin.000001 | mysql - u root - p
      
    • 重放二进制日志过程中,MySQL会重新执行备份之后到指定时间点之间的所有事务,从而实现基于时间点的恢复。