从转储恢复mysql数据库时忽略特定表的数据

时间:2013-02-26 02:38:13

标签: mysql mysqldump

我有一个巨大的转储文件,其中有大约200个表,其中一些表有数百万条记录。我知道当我mysqldump时可以忽略特定的表格。

在从转储中“恢复”数据库时,是否可以忽略某些表或忽略这些表的插入查询?

提前致谢。

1 个答案:

答案 0 :(得分:1)

使用mysql客户端无法做到这一点。转储文件基本上是CREATE TABLE和INSERT语句(以及其他一些语句)的大集合,并且mysql客户端没有任何方法来执行此类SQL脚本的 part

但是,我在必要时通过sed创作来完成它。例如,如果我想要排除表“do_not_want”的创建和数据,我可以这样做:

cat mydumpfile.sql |
sed -e '/^-- Table structure for table .do_not_want./,/^UNLOCK TABLES;/d' |
mysql

这假设我们用于边界的模式不会出现在数据本身中。