wget
命令:nohup wget -c -t 0 "备份文件下载地址" -O 下载的目标路径及文件名 > 下载输出日志到对应文件 &
示例:nohup wget -c -t 0 "https://example.aliyundoc.com/examplebackup.qp.xb" -O /backup/examplebackup.qp.xb > /tmp/download.log &
各命令代表含义如下:
-t 0:无限重试。
-c:支持断点续传。
-O:下载的目标路径及文件名。
nohup:避免因手误执行复制操作或者终端断开连接,把正在进行的下载中断,且当下载完毕后,之前的进程将会自动退出。
curl
命令:nohup curl -C - --retry 10 "备份文件下载地址" -o 自定义文件名 > 下载输出日志到对应文件 &
示例:nohup curl -C --retry 10 "https://example.aliyundoc.com/examplebackup.qp.xb" -o backup.qp.xb > /tmp/download.log &
各命令代表含义如下:
--retry 10:任务失败时的重试次数,以上示例表示重试10次。
-C -:支持自动断点续传。
-o:下载的目标路径及文件名。
nohup:避免因手误执行复制操作或者终端断开连接,把正在进行的下载中断,且当下载完毕后,之前的进程将会自动退出。
解压备份文件后拿到 frm 以及 ibd 文件(INNODB),在本地测试数据库服务器中创建一个数据库。
创建一个和源表结构一模板的表,然后在MYSQL执行以下SQL操作
自复制.ibd文件以来,该表一定不能删除或截断,因为这样做会更改存储在表空间中的表ID。
移除表空间,执行后原ibd文件会消失:
ALTER TABLE tbl_name DISCARD TABLESPACE;
然后将备份的.ibd文件复制到原存在idb这个数据文件的地方,再执行恢复表空间
发出以下ALTER TABLE语句,告诉InnoDB您将新 .ibd文件用于表:
ALTER TABLE tbl_name IMPORT TABLESPACE;
如果在执行以上命令报错:
Tablespace is missing for a table
检查文件权限是否正确,MYSQL进程无法读取该ibd文件,调整好权限再试一次