mysqldbcopy排除正则表达式模式

时间:2014-11-05 00:40:26

标签: mysql regex copy regex-negation

我想使用mysqldbcopy复制数据库。某些表(例如tbl1)应该在没有她的数据的情况下被复制,而其他一些表(例如tbl2)应该与所有内容完全复制。所以我想首先复制所有带有内容的表,并排除我想要复制的表,而不是这样的内容:

mysqldbcopy --exclude=mydb.tbl1 --source=[...]

之后我想通过在参数中添加--skip = data来复制没有内容的表。因为似乎不可能告诉mysqldbcopy他应该复制哪些表,我的想法是否定 - 使用正则表达式模式排除:

mysqldbcopy --exclude=mydb\.[^tbl1]+ --regexp --skip=data --source=[...]

这应该复制所有表的结构,期望那些数据(在本例中为tbl2)。但是--exclude似乎不适用于任何模式。为了测试,我尝试了

mysqldbcopy --exclude=mydb\.[tbl1]+ --regexp --skip-data --source=[...]

但是exclude参数被忽略了,他复制了所有的表。我尝试使用\而不是\来转义正则表达式的数据库名称和表之间的点,但这没有区别。 遗憾的是,使用mysqldbcopy的regex-pattern似乎不是很好的文档,手册只告诉我

  

-x EXCLUDE, - exclude = EXCLUDE   使用特定名称(例如db1.t1),LIKE模式(例如db1.t%或db%。%)或REGEXP搜索模式从操作中排除一个或多个对象。要对所有排除项使用REGEXP搜索模式,还必须指定--regexp选项。

我在这里找不到任何关于如何使用正则表达式的例子。

0 个答案:

没有答案