我有一个巨大的转储文件,其中包含大约 200 个表和其中一些表的数百万条记录。我知道当我这样做时可以忽略特定的表mysqldump
。
从转储中“恢复”数据库时是否可以忽略某些表或仅忽略这些表的插入查询?
提前致谢。
mysql客户端无法做到这一点。转储文件基本上是 CREATE TABLE 和 INSERT 语句(以及其他一些语句)的大集合,并且 mysql 客户端没有任何方式执行此类 SQL 脚本的一部分。
但是,我在必要时通过对sed
. 例如,如果我想排除表“do_not_want”的创建和数据,我可以这样做:
cat mydumpfile.sql |
sed -e '/^-- Table structure for table .do_not_want./,/^UNLOCK TABLES;/d' |
mysql
这假设我们用于边界的模式不会出现在数据本身中。