首页/数据/备份与容灾速查/mysql 客户端恢复逻辑备份
数据库与云备份56 条

mysql 客户端恢复逻辑备份

用 mysql 客户端回放 SQL 备份:整库恢复、指定库恢复或截取单表片段;大文件恢复关注字符集与错误处理策略。

备份与容灾速查数据更新于 2026-10-13

mysql 客户端恢复是什么

用 mysql 客户端把 SQL 备份逐条回放回实例,是最常见的逻辑恢复方式。它既能整库导入,也能按库或按表片段恢复,适合误删后只修局部数据的场景。恢复速度受 SQL 回放能力限制,大文件恢复前通常需要调整会话参数并确认字符集一致。

基本信息

整库恢复mysql 加输入重定向,或在交互模式内用 source
单库恢复指定库名后回放,产物必须不含建库语句
单表恢复从产物中截取目标表语句单独回放
提速手段会话内临时关闭外键与唯一性检查
前置检查目标实例的字符集、排序规则与源保持一致

恢复示例

恢复示例
# 先建库再回放
mysql -u root -p -e "CREATE DATABASE IF NOT EXISTS appdb DEFAULT CHARACTER SET utf8mb4"
mysql -u root -p appdb < /backup/appdb-2026-10-12.sql

# 交互模式内可用 source
mysql -u root -p
mysql> source /backup/appdb-2026-10-12.sql;

恢复方式对照

方式命令形态适用
整实例回放全量产物环境重建与灾难恢复
单库指定库名后回放单库误删或迁移
单表截取表相关语句局部数据修复
增量补齐配合日志回放到指定时刻需要回到特定时间点

恢复与核对要点

  • 恢复前对现有数据留底:恢复失败时至少还有回退路径,避免两头落空
  • 确认字符集与排序规则:不一致会造成乱码或唯一键冲突
  • 分阶段验证:先看是否报错,再核对表数量,最后核对关键表行数
  • 业务抽检:对最近的订单、账务等业务数据做抽样比对,确认数据正确
  • 保留恢复日志:错误输出重定向到文件,便于事后复盘中断原因
用 --force 忽略错误继续执行会得到半成品库;恢复脚本应默认遇错停下并检查退出码,再决定是否重试。
恢复前确认目标实例的字符集、排序规则与源一致,不匹配可能报错或写入异常字符,这类问题在导入大文件时往往到中途才暴露。

易错点

  • 用 --force 忽略错误继续执行会得到半成品库:恢复脚本应默认遇错停下并检查退出码
  • 覆盖现有数据库前先备份当前状态,避免恢复失败后两头落空
  • 不含建库语句的产物直接回放到未建库的实例会报错,需先手工建库
  • 字符集与排序规则不一致导致导入中断或数据异常,需在恢复前核对

数据来源与参考

  • MySQL 8.0 Reference Manual(mysql 客户端)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌