MySQL 数据表恢复操作
一、恢复主库上的数据表
备份信息
- 备份服务器 IP:
192.168.1.100 - 主服务器 IP:
192.168.1.200 - 备份根目录:
/alidata2/mysql_back/back_table/database_back/ - 备份保留策略:保留最近 10 天的备份数据,文件存储格式以数据表字母开头。
备份目录结构示例
/alidata2/mysql_back/back_table/database_back/
├──adb/
│ ├── shujujiance-aabc-2022030102.tar.gz
│ ├── shujujiance-defg-2022030103.tar.gz
│ └── ...
├── def/
│ ├── mofangdata-xyz-2022030101.tar.gz
│ └── ...
└──qwe/
└── ...
二、恢复流程
注意:执行
source导入时,必须确保 SQL 文件位于当前服务器本机(即主服务器)上,不能使用远程路径。
步骤 1:登录备份服务器
使用 SSH 登录备份服务器(示例 IP:192.168.1.100),进入备份目录:
ssh root@192.168.1.100
cd /alidata2/mysql_back/back_table/database_back/
步骤 2:拷贝所需备份文件到临时目录
例如需要恢复 shujujiance 库下的 wxyz 表(备份文件名为 shujujiance-wxyz-2022030102.tar.gz),将其复制到 /root 下:
cp abc/xxxx-wxyz-2022030102.tar.gz /root/
步骤 3:解压备份文件
cd /root
tar xzf xxxx-wxyz-2022030102.tar.gz
解压后会得到对应的 SQL 文件,例如 xxxx-2022030103.sql。
步骤 4:将 SQL 文件从备份服务器拷贝到主服务器
在主服务器(示例 IP:192.168.1.200)上执行 scp 命令,从备份服务器拉取文件:
scp root@192.168.1.100:/root/xxxx-2022030103.sql ./
执行后,SQL 文件将保存在主服务器的当前目录下。
步骤 5:登录 MySQL 并切换到目标数据库
mysql -u root -p
USE mofangdata; -- 替换为实际目标数据库
步骤 6:导入 SQL 文件
在 MySQL 命令行中执行:
source /当前目录/xxxx-2022030103.sql;
也可以使用绝对路径,例如:
source /home/user/xxxx-2022030103.sql;
步骤 7:校验数据
导入完成后,通过 SELECT 语句验证数据是否恢复完整,例如:
SELECT COUNT(*) FROM 目标表名;
或检查关键数据行。
注意事项
- 备份文件命名:备份文件通常包含数据库名、表名和时间戳,请根据实际需要选择正确的备份文件。
- 磁盘空间:确保主服务器有足够空间存放拷贝过来的 SQL 文件和导入后的数据。
- 导入大文件:若 SQL 文件较大,建议使用
mysql命令直接导入,而非source,例如:mysql -u root -p mofangdata < xxxx-2022030103.sql - 权限与网络:确保主服务器能够通过 SSH 访问备份服务器,且备份服务器上的文件具有读取权限。

浙公网安备 33010602011771号