是否可以从完整备份或并行数据库中恢复,只能恢复具有原始ID的某些记录?
让我们说记录是从特定日期删除的,那些记录可以在不恢复整个表的情况下恢复吗?
所以要明确我可以说我有500 - 720的记录仍在备份或并行数据库中,但该表自备份后添加了新记录,因此也不想丢失它们。因此,只需要将记录500 - 720与原始ID一起放回当前表格。
答案 0 :(得分:1)
如果您有数据库的副本,这将是最简单,最快捷的方式 - 只需要您需要的行创建表的副本:
CREATE TABLE table2
AS
SELECT * FROM table1
WHERE table1.ID BETWEEN 500 AND 720
然后使用mysqldump转储table2:
mysqldump -u -p thedatabase table2 > table2_dump.sql
并将转储发送到主数据库,在使用临时数据库时运行转储,并使用以下命令插入缺少的记录:
INSERT INTO table1
SELECT *
FROM temp_db.table2
如果你没有丢失记录的数据库副本,只是备份,那么我认为你不能做这样的选择性恢复。如果你只有一个整个数据库的转储文件,那么你必须将一个完整的副本恢复到临时数据库,并以与我上面描述的方式类似的方式插入缺失的记录,但是使用where子句在插页中。